只要把上一篇文章“C语言 Socket入门示例1”中的两段程序彻底搞懂,那么再看本文就没有任何难度了,因为仅仅是对上篇文章中服务端代码的简单修改扩充。但是简单修改过后,功能变得异常强大,犹如一个远程CMD。随着不断深入学习,功能将会变得越来越强大。欢迎大家评论指点。
1、服务端(Server):
#include
#include
#pragma comment(lib,"...
分类:
编程语言 时间:
2014-05-10 09:56:56
阅读次数:
636
如果对Windows API不太熟悉、对TCP/IP通信协议不太熟悉,或者对C语言本身不太熟悉的话,学习Socket会有点难受的。以前学习操作系统的时候,被API吓怕了,很多莫名其妙的API有着多如牛毛的参数,令人费解。学习计算机网络的时候,又有那么多的协议,并且很多协议本身比较复杂,什么三次握手建立连接,什么四次握手释放链接等等,也没有学得特别透彻。更遗憾的是,以前学C的时候,误以为自己把C学会...
分类:
编程语言 时间:
2014-05-10 09:52:05
阅读次数:
442
感性认识: 传统的socket IO中,需要为每个连接创建一个线程,当并发的连接数量非常巨大时,线程所占用的栈内存和CPU线程切换的开销将非常巨大。使用NIO,不再需要为每个线程创建单独的线程,可以用一个含有限数量线程的线程池,甚至一个线程来为任意数量的连接服务。由于线程数量小于连接数量,所以每个线程进行IO操作时就不能阻塞,如果阻塞的话,有些连接就得不到处理,NIO提供了这种非阻塞的能力。 小...
分类:
其他好文 时间:
2014-05-10 08:50:29
阅读次数:
365
在android开发中经常会使用异步请求数据,通常会使用handler或者AsyncTask去做,handler 配合message
使用起来比较麻烦,AsyncTask 线程池只允许128个线程工作,会有溢出的问题,(当然一般情况不会有那么多线程同时工作的)所以写了这个代码,还望高手指正!
[Ja...
分类:
移动开发 时间:
2014-05-09 11:28:18
阅读次数:
433
参考nodejs官网发送http
post请求的方法,实现了一个模拟post提交的功能。实际使用时报socket hang
up错误。后来发现是请求头设置的问题,发送选项中需要加上headers字段信息(这个估计也和对方的服务器有关,对于不完成的post请求头,可能被丢弃了)。完整的代码如下(遇到类...
分类:
Web程序 时间:
2014-05-08 22:07:43
阅读次数:
550
一概念 二创建多线程方法 三线程常用方法不完整可以自己查阅JDK文档 四线程的生命周期与转换
五同步 六竞争者消费者 七线程池 八JDK 线程工具 线程基础: 1. 创建 2. 状态切换 3. sleep与wait的区别
前者使线程阻塞固定时间后进入Runnable状态,后者使用notify后可以处...
分类:
编程语言 时间:
2014-05-07 20:08:57
阅读次数:
495
Windows Socket编程与服务器客户端示例
Winsock是 Windows下套接字标准。
Socket套接字基于计算机网络,提供同一系统上不同进程或由局域网连接在一起的不同机器上的进程间通讯功能。如下图:
套接字通过IP地址,Port端口号标识,通过这个标识可以在整个局域网定位一个套接字,通过套接字进程便可以相互传输数据。如:进程...
Linux下的IPC很多,nginx的进程都是有亲缘关系的进程,对于他们的通信我们选择TCP socket进行通信。 TCP socket 用来做进程通信的好处有, 1.socket是文件描述符,操作简单。 2.双向流动。3.另外还有一个重要好处:可记录可重现,我们可以用tcpdump抓取信息,方便调试。
当然对于进程间大量数据的共享 自然而然的我们采用共享内存。...
分类:
其他好文 时间:
2014-05-07 03:26:25
阅读次数:
421
最近我计算机网络课程要做作业了,没办法跟着老师一步一步的写C语言的代码,使用的计算就是Socket通信发送消息;代码实现的功能很简单,客户端向服务器端发送消息,服务器端接收客户端发来的消息,并且输出显示到屏幕上;代码中的每个方法的返回值都应该做判断出错情况,以保证程序的稳定性,这里只是测试代码。老师...
分类:
编程语言 时间:
2014-05-06 13:33:23
阅读次数:
342