S42Core SSE Clase
SSE - s42-core
La clase SSE
(Server-Sent Events) del paquete s42-core
simplifica la creación de flujos de comunicación en tiempo real en aplicaciones web. Proporciona una forma fácil de enviar eventos desde el servidor a los clientes conectados utilizando el protocolo de Server-Sent Events.
Propósito
SSE
está diseñado para la comunicación en tiempo real, unidireccional, del servidor al cliente. Es particularmente útil en escenarios como:
- Notificaciones en vivo (por ejemplo, nuevos mensajes, actualizaciones del sistema).
- Monitoreo en tiempo real (por ejemplo, precios de acciones, estado del servidor).
- Difusión de eventos (por ejemplo, actividad del usuario en aplicaciones colaborativas).
Instalación
Instala el paquete s42-core
:
Características
- Comunicación en tiempo real: Envía eventos del servidor a los clientes con un overhead mínimo.
- Difusión de eventos: Transmite eventos a múltiples clientes simultáneamente.
- Fácil de usar: API sencilla para gestionar conexiones y enviar eventos.
- Integración con Controladores: Funciona perfectamente con las clases
Controller
yRouteControllers
.
Uso
Configuración de SSE en un Controlador
Enviar Eventos
Para transmitir eventos a todos los clientes conectados:
Ejemplo de Escenario
Caso de Uso: Notificaciones en Tiempo Real
- Conexión del Cliente: Los clientes se conectan al endpoint
/sse
para establecer una conexión SSE. - Transmisión de Eventos: El servidor transmite eventos (por ejemplo, nuevas notificaciones) a todos los clientes conectados.
Ejemplo del Lado del Cliente (JavaScript)
Métodos
Constructor
req
: El objetoRequest
de la solicitud HTTP entrante.
getResponse(): Response
Devuelve el objeto Response
para enviar de vuelta al cliente.
getUUID(): string
Devuelve un identificador único para la instancia SSE.
send(data: TypeSSEventToSend): void
Envía un evento al cliente conectado.
data
: Un objeto que contiene:eventName
: El nombre del evento.eventPayload
: La carga útil del evento.
close(): void
Cierra la conexión SSE.
Integración con s42-core
La clase SSE
funciona perfectamente con las clases Controller
, RouteControllers
y Server
del paquete s42-core
. Está diseñada para integrarse fácilmente en la arquitectura de tu aplicación.
Ventajas
- Ligero: Configuración mínima para comunicación en tiempo real.
- Escalable: Maneja múltiples conexiones de manera eficiente.
- API Simple: Métodos intuitivos para gestionar conexiones SSE.
- Flexibilidad de Eventos: Soporta eventos personalizados y cargas útiles de datos.
Licencia
Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.