同步指的是发送方不等接收方响应,便接着发下个数据包的通信方式
异步指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。
阻塞套接字是指执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上,比如调用recv()函数读取网络缓冲区中的数据,如果没有数据到达,将一直挂在recv()这个函数调用上,直到读到一些数据,此函数调用才返回;
非阻塞套接字是指执行此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用recv()函数读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。
在实际Windows网络通信软件开发中,异步非阻塞套接字是用的最多的。平常所说的C/S(客户端/服务器)结构的软件就是异步非阻塞模式的。
090318从网络上的资料来看,目前的理解:
同步+阻塞/非阻塞
异步+非阻塞
而且,阻塞和非阻塞应该还有分服务器和客户端两种情况进行讨论。
至于,整个概念的提出以及经典原著,没有看过。因为不知道如何去查。