测试套接字是否仍然打开
Test if socket is still open
根据我上一个问题的指示,我现在在socket.io中有一个连接的用户数组。我的问题(我在答案中被警告过)是,即使在浏览器断开连接后,套接字仍然留在这个数组中。
我尝试在socket.on('disconnect'
函数中从数组中删除套接字,但是在浏览器断开连接和套接字之间仍然有~1分钟的延迟。IO触发断开连接
"测试"一个套接字看它是否真的活着的最好方法是什么?我想尝试发送消息并捕获任何错误,但我觉得有一个更优雅的解决方案。
如何测试"socket是否仍然打开"
if(socket.readyState === socket.OPEN)
{
}
工作原理:
https://developer.mozilla.org/en-US/docs/Web/API/WebSocketreadyState =连接的当前状态;这是Ready状态之一常量。只读的。
"就绪状态常数"
连接0:连接尚未打开。
OPEN 1:连接打开,准备通信。
CLOSING 2:连接正在关闭中。
CLOSED 3:连接已关闭或无法打开。
我在断开连接处理程序中有一个错误。我最后用的是:
socket.on('disconnect', function() {
users.splice(users.indexOf(socket), 1);
});
socket.on('end',function(){
//your code
})
或
socket.on('error',function(err){
//in case of any errors
})
在所有客户端都断开连接之前,disconnect事件不会触发!
相关文章:
- 如何确定套接字中的变量是否匹配
- 是否有一个 JavaScript 加载器可以将套接字的数量限制为 1 或 2
- 是否可以在没有 .NET 4.5 主机的情况下使用当前 Web 套接字
- 找出套接字是否等于null
- 是否自动更新套接字连接数据?socket.io
- 在node.js/ssocket.io中,如何判断对象是否是套接字的实例
- 在通过套接字发送到客户端之前压缩中等大小的javascript数组是否值得
- 是否可以与位于不同于html5网站呈现的服务器的网络套接字进行通信
- 我们是否可以安全地从套接字参数的回调中分配对象引用
- 网络套接字是否安全
- Socket.io - 是否可以将回调函数作为套接字发出事件中的参数传递
- Node JS - 如何判断套接字是否已经打开了Einaros WS套接字模块
- 是否可以从即将关闭的ZMQ套接字获取数据
- node . js,套接字.Io:检查用户是否在线或离线
- 客户端是否有办法在套接字断开连接时发送服务器数据?
- 是否有可能在接收时识别web套接字请求?
- 套接字.IO是跟踪用户是否在线的最好方法
- 在JavaScript中是否有一种方法可以延迟处理web套接字消息,直到设置了标志
- 测试套接字是否仍然打开
- 如果一个应用程序打开了2个TCP套接字,是否在这两个套接字之间都保持有序属性?