私が働いているホスティング会社のステータスチェッカーを書いています。可能であれば、nodejsを使用してポートのステータスを確認する方法を考えています。そうでない場合は、PHP の使用や STDOUT の読み取りなど、他のアイデアを提案できますか?
質問する
9755 次
2 に答える
24
はい、これはnet
モジュールを使用して簡単に可能です。ここに短い例があります。
var net = require('net');
var hosts = [['google.com', 80], ['stackoverflow.com', 80], ['google.com', 444]];
hosts.forEach(function(item) {
var sock = new net.Socket();
sock.setTimeout(2500);
sock.on('connect', function() {
console.log(item[0]+':'+item[1]+' is up.');
sock.destroy();
}).on('error', function(e) {
console.log(item[0]+':'+item[1]+' is down: ' + e.message);
}).on('timeout', function(e) {
console.log(item[0]+':'+item[1]+' is down: timeout');
}).connect(item[1], item[0]);
});
改善できることは明らかです。たとえば、現在、ホストを解決できない場合は中断されます。
于 2012-05-23T15:52:41.113 に答える