2
我正在創建一個套接字通過檢查器。nodejs - 如何測試遠程套接字是否打開
基本上,我啓動了一個套接字服務器(net.createServer
)和一個套接字客戶端(net.connect
)。出於測試目的,我沒有等待端點套接字。
我想測試端點套接字是否可用。如果不是,nodejs應該等到套接字可用。
var net = require('net');
var inbound = net.createServer();
var outbound = net.connect({
port: 8193
});
inbound.listen(8192, function() { //'listening' listener
address = inbound.address();
console.log('Server started on %j', address);
});
inbound.on('connection', function (insock, outbound) {
console.log('CONNECTED ' + insock.remoteAddress + ':' + insock.remotePort);
insock.on('data', function (data, outbound) {
outbound.write(data);
console.log('DATA ' + data);
});
});
我絕對測試它,但我不知道如何在遠程端口未打開時恢復node.js應用程序。 Nodejs拋出一個「錯誤:連接ECONNREFUSED」 – extensa5620
這就是如果你只是試圖使用它會發生的事情。無論解決方案是什麼,它都是'嘗試使用它'的情況。您不需要兩次編寫相同的代碼。 – EJP
使用'outbound.on('error',...)'來捕獲這些錯誤,而不是讓Node發生崩潰。 – robertklep