本帖最后由 BSKnight 于 2011-07-02 17:26:12 编辑

解决方案 »

  1.   

    服务器基本上都会不断收到客户端最后一次发送的数据没看明白, 是服务器收到多个数据? (这是你代码逻辑问题)是服务器无法收到最后的数据?
    这可能是客户端过早关闭, 导致客户端的数据没发送完成, 具体的可以看msdn的 closesocket 后面的备注This is called a hard or abortive close, because the socket's virtual circuit is reset immediately, and any unsent data is lost. Any recv call on the remote side of the circuit will fail with WSAECONNRESET.
      

  2.   


    比如 CLient 最后一次发送内容 “ Hello ”
    Server收到 显示 HelloClient 关闭
    Server  Recv方法不断收到 Hello 接收完一次  再次Recv又收到 Hello
      

  3.   

    select 返回的是int,  
    出错返回-1, 也是true, 确定下到底返回什么