![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程 IO
王晓斌
十年苦烦剧,一念愈倾仰
展开
-
广义同步&异步 阻塞&非阻塞 及 网络IO中的同步&异步,阻塞&非阻塞
广义的同步/异步,阻塞/非阻塞 同步 VS 异步 (synchronous VS asynchronous) 同步和异步关注的消息通信机制。 同步和异步仅仅是关于所关注的消息如何通知的机制。同步的情况下,是由处理消息者自己去等待消息是否被触发(主动去获取状态),而异步的情况下是由触发机制来通知处理消息者。 阻塞 VS 非阻塞 (blocking VS nonblocking) 阻原创 2010-02-03 10:38:00 · 1833 阅读 · 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 · 1381 阅读 · 0 评论 -
Socket TCP粘包拆包
TCP(transport control protocol,传输控制协议)是面向连接的,面向流的,提供高可靠性服务。收发两端(客户端和服务器端)都要有一一成对的socket,因此,发送端为了将多个发往接收端的包,更有效的发到对方,使用了优化方法(Nagle算法),将多次间隔较小且数据量小的数据,合并成一个大的数据块,然后进行封包。这样,接收端,就难于分辨出来了,必须提供科学的拆包机制。即面向流的原创 2015-12-03 01:26:12 · 6282 阅读 · 2 评论