nodejs重新连接networking连接

我有一个净客户端连接到一个套接字(使用net.createConnection(端口,主机)。这工作正常。

但是,有时服务器可能会断开连接,并且希望networking连接在服务器备份和运行时自动重新连接

我可以捕获('end')事件来捕获最初的断开连接,并尝试重新连接。

但是,如何检查客户端是否已连接,因为我想每隔n毫秒重试一次退避策略

在您的end处理程序中,设置将重试连接的超时,并设置一个将取消超时的connect处理程序。

这是另一种为我工作的方法。

 if ( !client.readable ) client.connect(PORT,HOST); else logger.debug('Attempt to reconnect on an active connection. Ignored.'); 

如果连接处于活动状态,client.readable的使用将立即返回一个值。 如果没有,那么只需重新连接。 使用client.writable失败。

我发现这种方法更强大,因为有时END或CLOSE事件不会发生(例如:VPN关机,服务器端崩溃或电源故障等)