降低Node.js套接字连接的超时

我想validation使用Node.js某个端口是否可达。 基本上,我做的是写下面的程序:

var net = require('net'); var client = new net.Socket(); client.connect(3003, 'localhost'); client.on('error', function (err) { console.log(err); process.exit(); }); client.once('connect', function () { console.log('Connected!'); process.exit(); }); 

到目前为止,这几乎可以正常工作。 只有一件事情我不满意,那就是超时处理。 本地它按预期工作,但是当我尝试

 client.connect(81, 'www.google.de'); 

直到我超时,需要两分钟的时间。 为什么会这样呢,我能做些什么呢?

PS:我知道在Node.js中有套接字的setTimeout函数,但是它不是我认为应该的,或者我错误地使用了它。

为句柄超时添加以下行:

 client.setTimeout(1000); client.on('timeout', function(){ client.end(); })' 

要么:

 client.setTimeout(1000, function(){ client.end(); }); 

文档: 在这里