网络编程 IO
王晓斌
十年苦烦剧,一念愈倾仰
展开
-
广义同步&异步 阻塞&非阻塞 及 网络IO中的同步&异步,阻塞&非阻塞
广义的同步/异步,阻塞/非阻塞同步 VS 异步 (synchronous VS asynchronous)同步和异步关注的消息通信机制。同步和异步仅仅是关于所关注的消息如何通知的机制。同步的情况下,是由处理消息者自己去等待消息是否被触发(主动去获取状态),而异步的情况下是由触发机制来通知处理消息者。阻塞 VS 非阻塞 (blocking VS nonblocking)阻原创 2010-02-03 10:38:00 · 1859 阅读 · 7 评论 -
Reactor VS Proactor 模式
I/O多路复用模式: Reactor & Proactor一般地,I/O多路复用机制(I/O multiplexing mechanisms)都依赖于一个事件多路分离器(Event Demultiplexer)。我们常见的事件多路分用器包括:Linux 的 EPOLL 和 Windows 的 IOCP。分离器对象可将来自事件源的I/O事件分离出来,并分发到对应的read/wri原创 2015-11-30 19:15:27 · 1396 阅读 · 0 评论 -
Socket TCP粘包拆包
TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。即面向流的原创 2015-12-03 01:26:12 · 6324 阅读 · 2 评论