本帖最后由 VisualEleven 于 2011-08-04 16:23:14 编辑

解决方案 »

  1.   

    如果你使用了AcceptEx且不带关联数据的,或者使用了ConnectEx且不带关联数据的,这些操作返回lpNumberOfBytes都会是0;
    除此以外,还有一种可能是你投递了一个0字节的缓冲区,它也会返回0,你需要手动调用接收函数来接收。
    再有就是socket关闭,也会是0情况很多,要区别对待
      

  2.   

    =0,可以是自己投递的0数据,也可以是远程socket关闭引起。
      

  3.   

    刚建立连接的时候如果在有accept中没有指定接收数据大小,返回也是0,客户端关闭返回也是0.
      

  4.   

    不能简单的当成失败处理,需要结合你的OVERLAPPED重叠结构一起分析,是否是对方closesocket了SOCKET了。