我正在建立一个到 XMPP 服务器的 TCP 客户端套接字连接,并且需要一种可靠的方法来检测连接中断(例如服务器崩溃、重新启动等)。我在结尾、错误和关闭事件上附加了侦听器,但是当我在活动连接期间切断互联网连接时,它们不会可靠地触发。我的客户端如何检测到连接何时断开?我宁愿不诉诸ping/超时。
问问题
3195 次
1 回答
4
我绝不是 TCP 或套接字编程方面的专家,但我很确定不存在“检测连接中断的可靠方法”。参见例如这个 Unix.com 线程。
在节点中,您的选项似乎是socket.setTimeout / socket.on('timeout', callback)和/或socket.setKeepAlive。
编辑:这是关于TCP keepalive的指南。
于 2012-04-23T22:28:29.837 回答