node.js - Node Js Web socket客户端停止监听
问题描述
我已经在节点 js 中构建了 websocket 客户端。我需要每 8-10 天重新启动一次。它突然停止监听 websocket 服务器。我已使用以下库进行连接。
"ws": "^6.2.1"
我确实在 onclose 和 onerror 侦听器中重新启动连接并打印日志。
this.connection.onerror = error => {
rawDataStreamLog.info("Websocket ::: onerror " + JSON.stringify(error))
this.restartConnection();
};
this.connection.onclose = () => {
rawDataStreamLog.info("Websocket ::: onclose")
this.restartConnection()
};
任何见解将不胜感激。谢谢。
解决方案
您的服务器很可能启动了断开连接。或者可能是网络连接出了问题。
根据我的经验,用于长期连接的 websocket 客户端代码应该通过重新连接来检测和处理关闭事件。如果在多次尝试重新连接后仍然失败,您可以调查服务器或网络中的问题。
您的服务器是否发送websocket ping (keepalive) 消息?如果没有,它应该。
推荐阅读
- nosql - 与云服务相比,Oracle NoSQL Cloud Simulator 有哪些限制?
- oauth - 将 OAuth 与 PyGithub 一起使用以请求私有 repo 访问
- android - 即使使用supportsAllDrives = true,Google Drive Api v3也无法上传到sharedDrive
- c++ - 为什么默认参数在模板函数中不起作用?
- python - 如何在 Django Python 中从子类访问父类字段
- npm - Outlook 插件 JS-NPM 运行构建缺少 JS 文件
- flutter - 参数类型'Padding'如何解决这个问题?
- javascript - 如何使用客户端 ID 和密钥来访问 Google Maps JS API,而不是 API 密钥?
- asp.net - 如何在 ocelot.json 路由 asp.net core 中发布 json body
- javascript - 如何使 axios 发布到 ReactJS 中的数据库?