如题

解决方案 »

  1.   

    用GetQueuedCompletionStatus函数可以知道客户端是否被关闭,若客户端被关闭会返回错误码
      

  2.   

    1. GetQueuedCompletionStatus 返回TRUE, 但是TransferBytes = 0 客户端断开
    2. GetQueuedCompletionStatus 返回FALSE, 且TransferBytes = 0 服务器主动断开
    3. Keep_Alive. 心跳包发现断开通常通过以上3种情况发现CLIENT吊线.
      

  3.   

    分二种情况:
    1.客户端关闭:GetQueuedCompletionStatus的结果收到0个数据。
    2.断网,断电,客户端非法操作:采用心跳包方法检测。