Professional Documents
Culture Documents
EventSource HTML5
EventSource HTML5
EventSource HTML5
CAPÍTULO 14 EVENTSOURCE
Los EventSource (también conocidos como Server-Sent Events), son eventos en tiempo real
transmitidos por el servidor y recibidos en el navegador. Son similares a los WebSockets en
que suceden el tiempo real, pero son principalmente un método de comunicación
unidireccional desde el servidor. Al igual que en los WebSocket, creamos una nueva conexión
indicando la URL, y el navegador intentará conectarse inmediatamente. El objeto
EventSource dispone de los siguientes eventos:
Lo que hace a EventSource diferente es la manera en que controla las pérdidas de conexión y
la gestión de los mensajes.
Si la conexión se pierde por alguna razón, el API automáticamente trata de volver a conectarse.
Además, al restablecer la conexión, el cliente envía al servidor la ID del último mensaje que
recibió. Esto permite al servidor, enviar al cliente todos los mensajes que no ha podido recibir.
No es necesario realizar ninguna configuración especial en nuestro código, simplemente el
servidor nos enviará los mensajes que no hemos recibido.
Un sencillo ejemplo:
es.onopen = function () {
initialiseData();
};
Realmente, esta no es la mejor manera de aprovechar las ventajas de EventSource . Para ello,
necesitamos una conexión persistente con el servidor, y LAMP no nos lo puede proporcionar.
Actualmente existen soluciones de servidor basadas en eventos, como pueden ser Node.js (un
servidor basado en JavaScript) o Twisted para Python.
Una aplicación muy simple, pero que nos da una idea del funcionamiento de los eventos en
tiempo real, utilizando un servidor basado en eventos.
ÍNDICE DE CONTENIDOS
EventSource