Created
February 18, 2016 10:46
-
-
Save dineshsprabu/b12773991d9271adeda2 to your computer and use it in GitHub Desktop.
[NodeJS] Check port availability for list of IPs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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