我正在建立到 XMPP 服务器的 TCP 客户端套接字连接,并且需要一种可靠的方法来检测连接中断(例如服务器崩溃、重新启动等)。我在结束、错误和关闭事件上附加了监听器,但是当我在事件连接期间切断互联网连接时,它们不会可靠地触发。我的客户端如何检测连接何时断开?我不想诉诸 ping/超时。
最佳答案
我绝不是 TCP 或套接字编程方面的专家,但我很确定不存在“检测连接中断的可靠方法”。参见例如this Unix.com thread .
在 Node 中,您的选项似乎是 socket.setTimeout/socket.on('timeout', callback)和/或socket.setKeepAlive .
编辑:这是关于 TCP keepalive 的指南.
关于Node.js tcp套接字断开连接处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10288818/