Socket.io延迟触发“断开”事件?

我有一个socket.io客户端连接到一个node.js服务器。 如果我在命令行中kill node.js,客户端立即冻结(即通信停止),但是在“disconnect”事件触发之前会有大约20秒的延迟。 这是行为的devise? 是否有configuration选项来减less触发断开连接事件的延迟?

看起来,这种行为在socket.io的相对较新的(最近6个月)更新中改变了。 在socket.io本身内置了重新连接function之前,我使用“disconnect”事件处理程序实现了自己的重新连接逻辑,当时服务器通信暂停时几乎立即触发“disconnect”事件。

       

网上收集的解决方案 "Socket.io延迟触发“断开”事件?"

是。 closures超时 。

我认为这可能是一种devise模式。 客户端可能会假定服务器是“暂时”不可访问的(networkingstream量等),并且基本上会一直试图达到它,直到客户端超时。

我直接从客户端发送断开连接(socket.disconnect())到服务器,我不知道这个问题。