Node.js 如何检测节点js中的连接失败?

Node.js 如何检测节点js中的连接失败?,node.js,Node.js,我使用net.connect进行套接字连接,我想知道在连接失败时如何检测它 看来这不管用 //this will return a net.Socket and automatically connect var client = net.connect({port:22000, host:'10.123.9.163'}); //doesn't trigger a error event even if connection fails client.on('error', (err)

我使用
net.connect
进行套接字连接,我想知道在连接失败时如何检测它

看来这不管用

 //this will return a net.Socket and automatically connect
 var client = net.connect({port:22000, host:'10.123.9.163'});

 //doesn't trigger a error event even if connection fails
 client.on('error', (err)=>{console.log('something wrong')});

 //now an error event is emitted reasonably
 client.write('hello');
当我运行这段代码时,连接应该会失败,它确实会失败,因为当我写入一些数据时,会发生错误。但是,我无法检测到连接故障。我该怎么做

====准备好关闭了吗======


该死的,我想我犯了个错误。事实上,连接成功了,但由于某种安全策略,服务器关闭了连接,我通过telnet发现了这一点。在尝试另一个肯定会失败的端口后,会发出错误事件,一切正常。因此,为了防止误导他人,我将结束这个问题,同时也感谢你们的帮助:)

最简单、最方便的方法就是实施“乒乓”检查,双方每隔一段时间都会发送某种“乒乓”请求。如果<代码> N< /代码>优秀ping请求在一段时间后未应答,则考虑连接已死亡。这种算法基本上就是OpenSSH使用的(尽管默认情况下没有启用)。

您可以尝试使用
close
timeout
事件吗?