node.js websocket socket.io

node.js - Use un puerto efímero con el servidor socket.io



websocket (1)

Estoy buscando una manera de iniciar un servidor socket.io con un puerto efímero. ¿Cómo puedo obtener un puerto efímero con el servidor socket.io?

Quizás todo lo que necesito hacer es:

const Server = require(''socket.io); const s = new Server(''http://localhost'');

quizás eso usará un puerto efímero, como es?

Entonces, ¿cómo puedo recuperar el puerto que encontró socket.io?


Su código de ejemplo simplemente usaría el puerto socket.io predeterminado que creo que es 8080

Mi sugerencia sería seleccionar un número de puerto al azar que esté dentro del rango efímero o un rango que defina, y luego usar esta biblioteca para verificar si está disponible o no. https://github.com/indexzero/node-portfinder

También podría simplemente pasar por los puertos en un bucle para tratar de obtener el más bajo disponible para vincularse. Use el buscador de puertos para asegurarse de que esté disponible y luego úselo.

Esto también tiene la ventaja secundaria de poder decirle qué puerto se usó.