node.js - 节点js ECONNRESET events.js:72 throw er
问题描述
您好,我正在研究 Node js 套接字。我正在通过 ip 和端口监听来自多个设备的数据。运行一段时间后,我得到了这个异常,我的程序停止了
events.js:72
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at errnoException (net.js:905:11)
at TCP.onread (net.js:559:19)
这是我写的代码
var net = require('net');
var request = require('request');
var net = require('net');
var HOST = '172.xx.x.xx';
var PORT = 52xx;
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
// Fork workers.
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('death', function(worker) {
console.log('worker ' + worker.pid + ' died');
cluster.fork();
});
} else {
net.createServer(function(socket){
console.log('received connection...');
socket.on('data', function(data) {
var options = {
uri: 'http://demourl/api',
method: 'POST',
body: {
message:data.toString()
},
json: true
};
console.log(data.toString());
request(options, function (error, response, body) {
});
});
}).listen(PORT, HOST);
}
如何捕获错误并防止我的程序停止。
解决方案
包括socket.on("error", ...
这样的。看看这个问题
socket.on("error", (err) =>
console.log("socket error: ")
console.log(err.stack);
socket.destroy();
)
推荐阅读
- google-apps-script - 通过谷歌脚本在谷歌表格中插入数据时处理时间长
- excel - Excel VBA - 使范围不可选择
- kubernetes - 自定义 Prometheus servicemonitor 未注册目标
- wordpress - Woocommerce 购物车会话到期
- excel - 对象“全局”的 VBA 错误 1004 方法“范围”
- python - 树莓派 LCD (Waveshare) 3.5
- flutter - 使用 VerticalScrollableTabview 单击相应选项卡上的移动控件
- python - 删除列表中元素的一部分 - Python
- ansible - 在我的所有主机上执行 Ansible playbook 问题
- python - Django PythonAnywhere(2003,“无法连接到 MySQL 服务器(超时)”)