我的程序中客户端向服务器端发送数据,服务器端一直在监听,每当收到一个客户请求时新开端口接收数据.问题:
1,怎样在服务器端判断客户端断开;
2,怎样关闭为客户端新开的端口.

解决方案 »

  1.   

    问题1:
    客户端close后,服务器的recv函数会返回0。
    问题2:
    服务器listen到客户端的链接后通常都新建一个socket处理客户的连接,客户端close后,关闭这个socket就可以了。
      

  2.   

    是在
    void CClientSocket::OnReceive(int nErrorCode) 

      CSocket::OnReceive(nErrorCode);
      ...........
    }
    中判断吗?
      

  3.   

    服务器端的。
    建立连接后你可以尝试关闭一端(调用close),另一端就会被动关闭。
    自己测试一下就知道了
      

  4.   

    在Server 中添加一个OnClose(int nErrorCode)
    就可以了。