我创建了一个小型应用程序,用于将数据从客户端记录到服务器。我想从任务信使退出应用程序时获取客户端应用程序的状态。我如何获得客户端状态。
就像在Skype中一样。
我用户退出skype表单任务信使其他用户的Skype显示已登出此用户。
答案 0 :(得分:1)
您可以让客户端定期发送小心跳。如果这些心跳停止,你知道客户端已关闭(进程被终止,应用程序关闭,计算机关闭,网络连接断开等等。)
答案 1 :(得分:0)
你不能捕获SocketException并检查是否接收零字节。如果您收到零字节,则另一方干净地关闭连接。如果在SocketErrorCode设置为ConnectionReset的情况下获得SocketException,那么您也可以假设另一方已经消失。你唯一不会接受的是半开放连接。为此,安德烈亚斯建议你需要一些保持活力的数据包。