gpt4 book ai didi

javascript - 高速公路( Node )未检测到断开的连接,无限等待,我可以设置超时吗?

转载 作者:搜寻专家 更新时间:2023-10-31 23:52:54 24 4
gpt4 key购买 nike

我在 Node 中使用此 AutobahnJS 代码从服务接收数据。它工作得很好,每秒获取多个事件。当我的互联网暂时断开连接时,Autobahn 没有检测到丢失的连接并且没有将“Websocket 连接断开”写入控制台,它只是挂起。无限期。

是否可以设置超时,如果 1 分钟后没有数据到达,则重新连接?或者我可以使用 setTimeout 函数来 ping 服务器,如果没有 pong 返回,则关闭连接并尝试重新打开它?

我用谷歌搜索,直到我的手指流血,但我没有找到这个问题的直接答案。非常感谢!

connection.onopen = function(session) {
session.subscribe(arg, someEvent);
}

connection.onclose = function() {
console.log("Websocket connection dropped");
}

connection.open();

最佳答案

如果没有发送一些数据,就不可能识别出不干净的断开连接。协议(protocol)层的WebSocket ping/pong机制并没有暴露在浏览器中,Autobahn|JS在Node.js中运行时也没有任何不同的处理。

目前,您需要在应用程序级别实现自己的 ping/pong 机制。

关于javascript - 高速公路( Node )未检测到断开的连接,无限等待,我可以设置超时吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com