How can I check if port is busy for localhost
?
Is there any standard algorithm? I am thinking at making a http
request to that url and check if response status code is not 404
.
How can I check if port is busy for localhost
?
Is there any standard algorithm? I am thinking at making a http
request to that url and check if response status code is not 404
.
You could attempt to start a server, either TCP or HTTP, it doesn't matter. Then you could try to start listening on a port, and if it fails, check if the error code is EADDRINUSE
.
var net = require('net');
var server = net.createServer();
server.once('error', function(err) {
if (err.code === 'EADDRINUSE') {
// port is currently in use
}
});
server.once('listening', function() {
// close the server if listening doesn't fail
server.close();
});
server.listen(/* put the port to check here */);
With the single-use event handlers, you could wrap this into an asynchronous check function.