繁体   English   中英

nodejs重新连接网络连接

[英]nodejs reconnect net connection

我有一个网络客户端连接到套接字(使用net.createConnection(port,host)。这工作正常。

但是,有时服务器可能会断开连接,因此我希望当服务器备份并运行时,网络连接能够自动重新连接。

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

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

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

这是对我有用的另一种方法。

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

如果连接处于活动状态,则使用client.ready将立即返回一个值。 如果不是,则只需重新连接。 使用client.writable失败。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM