2010-04-01 6 views
8

El borrador HTML5 contiene una API llamada EventSource para transmitir datos (notificaciones) a través de javascript utilizando solo una llamada al servidor.Use una secuencia de "x-dom-event-stream" en javascript?

Mirando hacia arriba, encontré un exemple de Opera Labs de la parte javascript:

document.getElementsByTagName("event-source")[0] 
     .addEventListener("server-time", eventHandler, false); 

function eventHandler(event) 
{ 
    // Alert time sent by the server 
    alert(event.data); 
} 

y la parte del lado del servidor:

<?php 
header("Content-Type: application/x-dom-event-stream"); 
while(true) { 
    echo "Event: server-time\n"; 
    $time = time(); 
    echo "data: $time\n"; 
    echo "\n"; 
    flush(); 
    sleep(3); 
} 
?> 

Pero a partir de hoy, parece que sólo Opera ha implementado la API, ni Chrome ni Safari tienen una versión en funcionamiento (¿Estoy equivocado aquí?)

Así que mi pregunta es, ¿hay alguna otra manera en javascript, tal vez más compleja, usar esta corriente para obtener datos?

EDIT: Estoy viendo cosas de Comet en este momento, pero no estoy seguro de cómo volver a usar eso :) EDIT 2: Apparentry, "x-dom-event-stream" ha cambiado de nombre "text/evento-stream" Datos 3: Tiene que entender manera más de lo mismo con este recent article de JavaNet

Respuesta

0

Bueno, Google está realmente mi amigo, después de una larga búsqueda, encontré este script desde Ericson laboratorios

(?!)

https://labs.ericsson.com/apis/eventsource/

Desde su página:

El habilitador de EventSource le permite usar la próxima API de origen de eventos en en cualquier navegador web actual. Simplemente incluye la biblioteca de habilitadores en su página , y puede usar la API. Cuando los agentes de usuario implementan el Evento Fuente API ellos mismos, su aplicación inmediatamente y comienzan a usar de forma transparente la implementación nativa .

Sin embargo, esta solución requiere una clave de API de Ericsson, y no puede ser utilizado para una aplicación comercial, que no es la mejor solución para mí :(

Así que si usted tiene un mejor enfoque ..

0

Tener un vistazo a la Kaazing Open Gateway. creo que funciona de manera similar a la API de Ericsson en que cambia de forma transparente para el uso de la aplicación nativa en cuanto esté disponible. Creo que proporciona tanto EventSource y websockets.

+0

Este es un servidor java, estoy buscando para el cliente JavaScript. Pero echaré un vistazo a su cliente XMPP javascript. – rnaud

Cuestiones relacionadas