You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Pablo Garcia edited this page Apr 6, 2026
·
1 revision
Fecha: 2026-04-06
El modo multijugador requiere comunicación bidireccional en tiempo real entre dos jugadores: cada movimiento debe llegar al oponente de forma inmediata sin que el cliente tenga que hacer polling.
Por ello creamos un servidor WebSocket dedicado e independiente (ws-server) implementado en Node.js con la librería ws, desplegado como un contenedor Docker propio y accesible desde el exterior a través del proxy de Nginx en la ruta /ws.
RAZONES
Familiaridad del equipo con Node.js y Express, todo el equipo tiene experiencia sólida con Node.js gracias a la asignatura SDI, donde desarrollamos aplicaciones completas con Express. Esto nos permitió implementar el servidor WebSocket con confianza y rapidez, gracias a la libreria ws
No modifica los servicios existentes
Añadir WebSocket al Gateway (Spring Boot MVC bloqueante) habría requerido migrar a Spring WebFlux.
Separación clara de responsabilidades
El servidor WS tiene una única función: emparejar jugadores por código de sala y retransmitir mensajes entre ellos.