如何使node.js TCP连接自动重新连接?
我在node.js中编写了一个TCP客户端和服务器。我不知道如何使客户端在由于任何原因断开连接时重新连接。我知道我必须处理如何使node.js TCP连接自动重新连接?,node.js,tcp,client-server,Node.js,Tcp,Client Server,我在node.js中编写了一个TCP客户端和服务器。我不知道如何使客户端在由于任何原因断开连接时重新连接。我知道我必须处理'close'事件,但这是一个只有在连接正常关闭时才会触发的事件。由于网络问题,连接刚刚结束,我不知道如何处理网络错误 以下是我到目前为止的代码: function connect () { client = new net.Socket(); client.connect(config.port, config.host, function () { con
'close'
事件,但这是一个只有在连接正常关闭时才会触发的事件。由于网络问题,连接刚刚结束,我不知道如何处理网络错误
以下是我到目前为止的代码:
function connect () {
client = new net.Socket();
client.connect(config.port, config.host, function () {
console.log('connected to server');
});
client.on('close', function () {
console.log('dis-connected from server');
connect();
});
client.on('error', ...); // what do I do with this?
client.on('timeout', ...); // what is this event? I don't understand
}
谁能解释一下在
错误
和超时
情况下我该怎么做?如何知道网络已断开连接并重新连接?您可能只需将错误事件处理程序保留为no op/empty函数,除非您还想记录错误或其他有用的内容。TCP套接字的close
事件始终会发出,即使在error
之后也是如此,因此您可以忽略它
此外,事件处理程序还被传递一个布尔had_error
参数,该参数指示套接字关闭是否由于错误而不是正常的连接断开
该事件用于检测两个端点之间的通信量丢失(使用的超时设置为。您可以使用该插件或检查其工作方式,因此我认为我应该只处理“关闭”事件,对吗?如我所述处理close
,否则在出错时会出现未捕获的异常(例如EconReset)发射。