My project need to setup a new port every time a new instance of my class is instantiated.
In Node.js how I can find a free TCP port to set in my new socket server? Or check if my specified port is already used or not.
3000 is a somewhat arbitrary port number chosen because it allows you to experiment with express without root access (elevated privilege). Ports 80 and 443 are the default HTTP and HTTPS ports but they require elevated privilege in most environments.
The default port for HTTP is 80 – Generally, most web browsers listen to the default port. Below is the code implementation for creating a server in node and making it listen to port 80.
You can bind to a random, free port assigned by the OS by specifying 0
for the port. This way you are not subject to race conditions (e.g. checking for an open port and some process binding to it before you get a chance to bind to it).
Then you can get the assigned port by calling server.address().port
.
Example:
var net = require('net'); var srv = net.createServer(function(sock) { sock.end('Hello world\n'); }); srv.listen(0, function() { console.log('Listening on port ' + srv.address().port); });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With