Con Node.js, podemos crear un servidor y escuchar en un puerto aleatorio:¿Cómo elige Node.js los puertos aleatorios?
var server = net.createServer();
server.listen(0, '127.0.0.1');
El primer parámetro, el puerto 0
, indica elegir un puerto aleatorio y 127.0.0.1
indica en localhost solamente, as documented.
¿Selecciona Node.js un puerto que no está en uso? ¿Tengo que verificarlo yo mismo y volver a intentar si Node.js pasa a elegir un puerto que ya está abierto y vinculado a otra aplicación? ¿Escoge un puerto viejo, o solo puertos de usuario (> 1024)?
Creo que simplemente asigna un puerto aleatorio pero no soy 100%. Creo que necesitas hacer el error e incrementar, etc ... como en el enlace (sin embargo, intentan nuevamente con el mismo puerto) – bryanmac
Pero luego debes preguntarte qué significa iniciar en un puerto aleatorio disponible, a menos que tengas algún tipo de descubrimiento de servicio, es difícil para los demás y el cliente descubrir lo que encontró al azar :) – bryanmac
Eso no suele ser un problema ya que estaría de acuerdo con un puerto o utilizaría un puerto conocido. Si no tiene permiso para enlazar dicho puerto, entonces tiene otros problemas que resolver. –