套接字编程c#窗口应用程序

时间:2013-05-27 13:48:20

标签: c# winforms

我创建了一个小型应用程序,用于将数据从客户端记录到服务器。我想从任务信使退出应用程序时获取客户端应用程序的状态。我如何获得客户端状态。

就像在Skype中一样。

我用户退出skype表单任务信使其他用户的Skype显示已登出此用户。

2 个答案:

答案 0 :(得分:1)

您可以让客户端定期发送小心跳。如果这些心跳停止,你知道客户端已关闭(进程被终止,应用程序关闭,计算机关闭,网络连接断开等等。)

答案 1 :(得分:0)

你不能捕获So​​cketException并检查是否接收零字节。如果您收到零字节,则另一方干净地关闭连接。如果在SocketErrorCode设置为ConnectionReset的情况下获得SocketException,那么您也可以假设另一方已经消失。你唯一不会接受的是半开放连接。为此,安德烈亚斯建议你需要一些保持活力的数据包。