摘要:今天看了段代码,比较奇怪,recv先接受了4字节(该四字节为一个包的包大小),然后调用WSAWaitForMultEvent等待事件到来,再读取剩余的数据。而发送端则是将包大小和数据一同发送 4+N 4:数据包大小,N数据包。同时WSAEvnetSelct设置为FD_READ|FD_CLOSE后来查了查,才明白:如果传递给recv()的缓冲区不足以一次容纳所有数据,那系统会保持FD_READ消息(也就是再次设置对应的事件为激发状态),直到完全读取了所有接收到的数据为止http://yukei.blog.163.com/blog/static/11258770320106224717808/FD
阅读全文
浙公网安备 33010602011771号