Skip to content

Instantly share code, notes, and snippets.

@dineshsprabu
Created February 18, 2016 10:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dineshsprabu/b12773991d9271adeda2 to your computer and use it in GitHub Desktop.
Save dineshsprabu/b12773991d9271adeda2 to your computer and use it in GitHub Desktop.
[NodeJS] Check port availability for list of IPs
var net = require('net');
var Promise = require('bluebird');
function checkConnection(host, port, timeout) {
return new Promise(function(resolve, reject) {
timeout = timeout || 10000; // default of 10 seconds
var timer = setTimeout(function() {
reject("timeout");
socket.end();
}, timeout);
var socket = net.createConnection(port, host, function() {
clearTimeout(timer);
resolve();
socket.end();
});
socket.on('error', function(err) {
clearTimeout(timer);
reject(err);
});
});
}
var checkIP = function(ip,port){
checkConnection(ip, port)
.then(function(){
return console.log("working: "+ip);
}, function(err) {
return console.log("not-working: "+ip);
});
}
//Array of ips to check
var ips = "[List Of IPS]"
//Port number to be checked
var port = "<port-number>"
//check each ip
for(i in ips){
checkIP(ips[i]);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment