Resumen
Qué controla este paquete en el runtime
Socket.IO integra mensajería realtime en xtaskjs sin salir del modelo de DI y ciclo de vida del framework. Descubre servicios gateway decorados, se conecta al servidor HTTP activo durante app.listen(), expone namespaces y utilidades de broadcast mediante DI y se desmonta limpiamente durante app.close().
Qué ofrece
- SocketGateway(), OnSocketConnection(), OnSocketDisconnect() y OnSocketEvent() declaran handlers realtime sobre clases @Service() normales.
- Los valores devueltos se envían automáticamente mediante acknowledgements de Socket.IO cuando el cliente proporciona un callback ack.
- InjectSocketService(), InjectSocketServer(), InjectSocketNamespace() e InjectSocketLifecycleManager() exponen el runtime mediante DI.
- SocketIoService puede emitir eventos, listar gateways, inspeccionar namespaces y reutilizar el servidor Socket.IO gestionado por el ciclo de vida.
Cómo encaja
- Se inicializa automáticamente mediante @xtaskjs/core cuando el paquete está instalado y la aplicación empieza a escuchar sobre un adaptador HTTP.
- Se conecta al servidor activo detrás de node-http, Express o Fastify sin cambiar los patrones de registro de controladores o servicios.
- Lo demuestra el ejemplo 23-socket_io_express_app con uniones a salas, acknowledgements y anuncios disparados por HTTP.