node.js , socket.io - 互联网连接断开时断开事件延迟

标签 node.js socket.io disconnect

我注意到 socket.on('disconnect') 在我关闭浏览器选项卡时立即触发。但它会在互联网连接中断后大约一分钟内触发。我正在使用 socket.io 模块。我该如何解决这个问题?

最佳答案

您必须在服务器端使用 pingTimeoutpingInterval 选项来控制它:

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/

相关文章:

javascript - RxJS 在没有订阅者时释放资源,在有新订阅者时创建

python - 客户端正在使用不受支持的 Socket.IO 或 Engine.IO 协议(protocol)版本错误

ubuntu - 无线连接在 Ubuntu 上随机断开并要求输入密码

java - 如何正确检测 servlet 规范 3 中的客户端断开连接?

javascript - Unity3d和Sockets.IO不会握手

python - 正确断开多处理远程管理器

node.js - Node Webkit/Electron获取在后台运行的应用程序

node.js - 具有随机键但字符串类型的对象的 Mongoose 模式

javascript - 在nodejs/javascript中的excel中创建动态列数或标题

javascript - 您是否可以在 yeoman 中配置其他安装命令,超出它可以在您自己的生成器上运行的标准?