Node Js Web套接字客户端停止侦听

问题描述

我已经在节点js中构建了websocket客户端。我需要每8-10天重新启动一次。它突然停止监听websocket服务器。我已使用以下lib进行连接。

"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) message?如果没有,应该这样。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...