初学者的疑惑,慢慢走出去(1)
我在.network 学习中没有掌握到一些基本的概念问题,但在网上偶尔的机会查询关于这些简单说法.
比如说:
同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblock)等,往往让我迷惑不清,只知其所以而不知起所以然.更多在使用的时候,就没有没有弄清楚,糊里糊涂的乱用,还好都没有出现什么大的问题.但,的确是一个革命性的漏洞哦!!
网络中搜索中现实如下:
同步方式指发送方发出数据后,等收到接收方发回的响应,才发下一个数据包的通信方式。
异步指的是发送方不等接收方响应,便接着发下个数据包的通信方式;
阻塞套接字是指执行此套接字的网络调用时,直到成功才返回,否则一直阻塞在此网络调用上,比如调用recv()函数读取网络缓冲区中的数据,如果没有数据到达,将一直挂在recv()这个函数调用上,直到读到一些数据,此函数调用才返回;
非阻塞套接字是指执行此套接字的网络调用时,不管是否执行成功,都立即返回。比如调用recv()函数读取网络缓冲区中数据,不管是否读到数据都立即返回,而不会一直挂在此函数调用上。在实际Windows网络通信软件开发中,异步非阻塞套接字是用的最多的。平常所说的C/S(客户端/服务器)结构的软件就是异步非阻塞模式的。
看了这个东西后,发现和以前理解的同步,异步概念不对称;至少有些错位的感觉;呵呵////评论:这句话说得不对,是网上的误导了。原来网上的也太多垃圾!!2006-3-10
暂时没有什么好的例子来说明这个问题,暂时记录于此.
2006-2-24
无论生活、还是技术,一切都不断的学习和更新~~~努力~