如何知道客户端的服务器连接丢失

时间:2014-07-24 09:37:36

标签: c# android tcp

我有一个在winforms中写入的tcp服务器和在android中的客户端。我将设备连接到无线网络,然后我断开服务器与该网络的连接。但是,客户端继续监听服务器一段时间然后关闭其套接字。当服务器与网络断开连接时,如何告诉客户端关闭套接字?

1 个答案:

答案 0 :(得分:0)

它发生的原因(如果我理解正确的问题)是没有固有的方法来知道连接已经关闭,除非你尝试发送一个包。因此,在您的客户端中,如果您尝试通过连接发送空包,它将立即报告连接是否已关闭。

这就是Heartbeats存在的原因,您可以将套接字配置为使用它们,或者您可以定期(或在需要时)让您的客户端尝试发送空包并报告连接状态。

有一篇关于CodeProject的优秀文章see here