首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >autobahn (node)没有检测到断开的连接,无限等待,我可以设置超时吗?

问autobahn (node)没有检测到断开的连接,无限等待,我可以设置超时吗?
EN

Stack Overflow用户
提问于 2016-04-10 16:14:12
回答 1查看 501关注 0票数 3

我在节点中使用这段AutobahnJS代码来接收来自服务的数据。它工作得很好,每秒可以获得多个事件。当我的互联网临时断开时,Autobahn没有检测到丢失的连接,也没有向控制台写入"Websocket connection dropped“,它只是挂起了。无限期的。

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

我用谷歌搜索到手指都要出血了,但我没有找到这个问题的简单答案。非常感谢!

代码语言:javascript
复制
connection.onopen = function(session) {
    session.subscribe(arg, someEvent);
    }

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

connection.open();
EN

回答 1

Stack Overflow用户

发布于 2016-04-10 21:13:27

如果不发送一些数据,就不可能识别出不干净的断开。协议级别的Autobahn ping/pong机制不会在浏览器中显示,并且在Node.js中运行时,WebSocket |JS没有任何不同的处理方式。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36527429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档