javascript - Socket IO 检测客户端何时失去连接

标签 javascript node.js socket.io

我需要能够检测用户何时失去与套接字的连接,当我关闭笔记本电脑时似乎没有调用 socket.on("disconnect") ,因此它不会运行需要运行以更新数据库以将用户标记为脱机的 ajax 调用。如何检查连接是否已关闭或其他?

最佳答案

正如这里提到的 https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO , Socket.IO 有它自己的心跳实现。 但默认值是 25 秒的间隔和 60 秒的连接丢失阈值。

所以我的建议是:按照您对测试的期望设置默认值。否则你可能会错过阈值。

例子:

socket.set("heartbeat timeout", 10);
socket.set("heartbeat interval", 5);

关于javascript - Socket IO 检测客户端何时失去连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9182695/

相关文章:

javascript - 试图将 google 图表与 css 对齐

javascript - Amazon S3 POST api,并使用 NodeJS 签署策略

node.js - 帕帕帕斯和高地

javascript - 如何同步客户端和服务器上的socketIO连接ID?

node.js - 在带有 node.js 的 socket.io 中,如何确定特定连接的服务器 IP?

javascript - Totaljs websocket 模块与 socket.io

javascript - 以编程方式刷新所有客户端浏览器中的局部 View

javascript - d3js如何选择我当前正在处理的元素

javascript - 将 swfupload.js 动态注入(inject) GWT 项目。 JS 代码在 <span> 存在于 DOM 之前被无意调用

node.js - 在 Node.js 项目中存储通用身份验证详细信息的可靠方法是什么?