node.js - 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 模块文件中进行更改?
解决方案
推荐阅读
- java - 安装 Java 1.8 32 位后出现“java.lang.IllegalArgumentException: System memory 259522560 must be at least 471859200”
- jquery - 像谷歌插件这样的自动完成功能不起作用(Jquery)
- sql - 如何防止这种竞争条件插入重复记录?
- haskell - “变量不在范围内”是什么意思以及如何解决?
- node.js - 防止 api 调用中的 SQL 注入
- c# - 错误 CS0029:无法将类型“void”隐式转换为“char[]”
- vue.js - 如果元素不存在,则隐藏 vue 分页按钮
- r - 有没有办法使用 map() 函数对 R 中的每一列自动进行 pairwise.wilcoxon.test 分析?
- firebase - 如何知道 firebase 和 Admob 链接是否正常运行?
- python - 等效于 os.walk() 的 zip 文件