No estoy seguro de cómo usar un único puerto en el servidor simultáneamente para múltiples sockets. ¿Cómo podemos hacerlo en node.js. Actualmente estoy usando socket.io y tengo un socket por puerto. En caso de que las soluciones no existan pero es posible, también por favor brinde su sugerencia para lograr lo mismo. Además, ¿qué problemas puede haber si compartimos un puerto? ¿Cuáles podrían ser otras opciones relacionadas considerando la situación de que los clientes pueden estar inactivos pero consumirán un puerto en el servidor ya que necesitamos mantener una conexión de socket para cada cliente?sockets múltiples que comparten un puerto en node.js (a través de socket.io)
6
A
Respuesta
5
Asumiendo que su servidor se está ejecutando en el puerto 80, esto es lo que sucede debajo:
- Server escucha el puerto 80.
- Cliente1 se conecta al puerto del servidor 80 desde su puerto 12345
- servidor acepta la conexión de cliente1 solicita y asigna el puerto 9876 para comunicarse con el cliente1.
- Server continúa puerto de escucha 80.
Así que a pesar de lo que piensa, el puerto 80 no se consume, es un oyente. Su computadora probablemente tiene 50000 puertos gratis, por lo que no hay problema.
FYI: Los puertos no se pueden compartir entre otros procesos. Solo se pueden compartir procesos secundarios de Node, eche un vistazo a cómo puede ser: http://nodejs.org/docs/latest/api/cluster.html
Cuestiones relacionadas
- 1. conectando dos clientes con socket.io a través de node.js
- 2. Node.js + Socket.io + Apache
- 3. node.js socket.io chat simple
- 4. Enviando datos de node.js a Java usando sockets
- 5. socket.io independiente sin Node.js
- 6. Compartiendo un puerto entre múltiples procesos node.js HTTP
- 7. ¿Cómo encuentro pares que comparten una propiedad (columna) a través de múltiples tuplas (filas)?
- 8. node.js, socket.io con SSL
- 9. Node.js websockets Socket.IO
- 10. Node.js: Socket.IO vs express.static
- 11. Cómo conectar formidable carga de archivos a socket.io en Node.js
- 12. Node.js, multi-threading y Socket.io
- 13. Multijugador HTML5, Node.js, Socket.IO
- 14. Enviar un archivo a través de sockets en Python
- 15. C# alternativa a socket.io para node.js
- 16. java log4j.xml appenders múltiples que comparten un diseño
- 17. node.js - compartir sockets entre procesos
- 18. Cliente Node.js para un servidor socket.io
- 19. Descargar HTTP a través de sockets (C)
- 20. Sockets de Java: ¿múltiples subprocesos de cliente en el mismo puerto en la misma máquina?
- 21. ¿Cómo usar ExpressJS y Socket.io en un mismo puerto?
- 22. Diferencia entre socket.io y node.js
- 23. Cómo transmitir datos MP3 a través de WebSockets con node.js y socket.io?
- 24. Comunicándose con un servidor socket.io a través de C#
- 25. ¿En qué se diferencia engine.io de socket.io?
- 26. Proyectos múltiples que comparten el mismo código sin referencia circular
- 27. ¿Puedo subir un archivo al servidor por socket.io en node.js?
- 28. Insertar en MongoDB a través de Node.js
- 29. Incremento de la conexión máxima a node.js/socket.io
- 30. Pérdida de memoria con socket.io + node.js
# 3 es incorrecto. El servidor (al menos con HTTP) no asigna puertos adicionales para comunicarse con el cliente. TCP permite múltiples conexiones a un solo puerto (80) siempre que el otro extremo de cada conexión tenga una combinación única de IP y puerto (cliente1: 12345). – josh3736