我注意到 socket.on('disconnect')
在我关闭浏览器选项卡时立即触发。但它会在互联网连接中断后大约一分钟内触发。我正在使用 socket.io 模块。我该如何解决这个问题?
最佳答案
您必须在服务器端使用 pingTimeout
和 pingInterval
选项来控制它:
const io = require('socket.io').listen(server, {
pingTimeout: 5000,
pingInterval: 10000
});
pingTimeout
(Number
): 多少毫秒没有 pong 数据包认为连接关闭 (5000
)pingInterval
(Number
): 在发送新的 ping 数据包之前的毫秒数 (25000
)
有关参数的更多详细信息:https://github.com/socketio/engine.io#methods-1
关于node.js , socket.io - 互联网连接断开时断开事件延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457741/