首页 > 解决方案 > Node.js websocket 未处理的错误 events.js websocket.js

问题描述

我正在使用带有 node.js 的 express webserver 和标准 websocket require('ws');

现在它有时会在互联网连接丢失时发生,我认为这是发生这种情况的主要原因,然后我收到一条错误消息并且脚本停止运行:

events.js:287 抛出错误;// 未处理的“错误”事件 ^

错误:在 TLSWrap.onStreamRead (internal/stream_base_commons.js:205:27) 读取 ECONNRESET 在 WebSocket 实例上发出“错误”事件:在 WebSocket.finalize (C:\Users\ABC\Desktop\Websocket\node_modules\ws\lib \WebSocket.js:182:41) 在 TLSSocket.emit (events.js:310:20) 在 emitErrorNT (internal/streams/destroy.js:92:8) 在 emitErrorAndCloseNT (internal/streams/destroy.js:60: 3) 在 processTicksAndRejections (internal/process/task_queues.js:84:21) { errno: 'ECONNRESET',
code: 'ECONNRESET', syscall: 'read' }

在 websocket 客户端代码中,我还编写了 console.log 或错误事件,请参见下面的代码:

ws.on('message', function incoming(data)
      {
        const obj = JSON.parse(data);   
        console.log("Stream: "+obj["k"].s+"  "+obj["k"].i+"  closeprice "+obj["k"].c+"\n");
      });
ws.on('error', function(e){
            console.log("stream error "+e);
        });

问题是我是否可以做些什么来防止这种行为?我通常知道当您不使用 console.log 错误事件时会发生此问题,但对我来说,看起来我已经这样做了。也许我需要在 ws 模块文件中进行更改?

标签: node.jswebsocket

解决方案


推荐阅读