Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js EconReset后重新连接到套接字的正确方法(Nodejs net.socket)_Node.js_Sockets - Fatal编程技术网

Node.js EconReset后重新连接到套接字的正确方法(Nodejs net.socket)

Node.js EconReset后重新连接到套接字的正确方法(Nodejs net.socket),node.js,sockets,Node.js,Sockets,我使用本机Nodejsnet模块通过局域网与硬件设备建立套接字连接。 我已经实现了一些事件处理程序,例如,我正在收听数据事件,一切都按预期进行 const net=require('net'); 让reader=new net.Socket(); 连接(读卡器端口,读卡器IP); //一些事件处理程序,工作非常好。。。 reader.on('data',(data)=>{ //处理数据 }); reader.on('关闭',(错误)=>{ //在这里重新连接 }); 但是,当我在大约5-10分

我使用本机Nodejs
net
模块通过局域网与硬件设备建立套接字连接。 我已经实现了一些事件处理程序,例如,我正在收听
数据
事件,一切都按预期进行

const net=require('net');
让reader=new net.Socket();
连接(读卡器端口,读卡器IP);
//一些事件处理程序,工作非常好。。。
reader.on('data',(data)=>{
//处理数据
});
reader.on('关闭',(错误)=>{
//在这里重新连接
});
但是,当我在大约5-10分钟内不使用连接时(它保持空闲),它会自动关闭自己,并发出
close
事件,错误如下:

read ECONNRESET
    at TCP.onStreamRead (internal/stream_base_commons.js:208:20) {
  errno: 'ECONNRESET',
  code: 'ECONNRESET',
  syscall: 'read'
}
我想在收到
关闭
错误
事件时重新建立连接。 我尝试使用
阅读器.connect()
,就像我在上面捕获这些事件时所做的那样。 但是,在此之后,我不会从套接字接收任何
数据
,即从不调用
数据
处理程序


在这种情况下,重新连接到插座的正确方法是什么?

插座在一段时间后关闭如果闲置,请尝试:@lawrencerone谢谢,先生,它解决了我的问题!请考虑将此作为答案。再次感谢!