最准确的是检查你recv函数的返回值是多少~

解决方案 »

  1.   

    可以用异步socket来做,比如重叠I/O或者完成端口
      

  2.   

    先返回已经接收到的数据。对于这个int nLen = recv(m_SOCKET, buf, 102400, 0);标准接收函数是根据你的系统、网络环境的好坏来决定这个nLen值的,如果网络环境不好这个nLen值不会到90000的,那时它也返回,那么对于你接收来说就会丢数据。
      

  3.   


    关键是我没法模拟我假设的这些条件数据缓冲区大小是可以设置的,recv收到的数据就是缓冲区能容纳的数据量。