我正在建立到XMPP服务器的TCP客户端套接字连接,并且需要一种可靠的方法来检测连接中的中断(例如服务器崩溃,重启等)。我有听众附加到结尾,错误和关闭事件,但是当我在活动连接期间切断我的互联网连接时,它们无法可靠地触发。我的客户端如何检测连接何时被破坏?我宁愿不诉诸ping /暂停。
答案 0 :(得分:4)
我绝不是TCP或套接字编程的专家,但我很确定没有“可靠的方法来检测连接中断”。参见例如this Unix.com thread
在节点中,您的选项似乎是socket.setTimeout / socket.on('timeout', callback)和/或socket.setKeepAlive。
修改:以下是TCP keepalive的指南。