ruby html5 sinatra server-sent-events

Eventos enviados por el servidor HTML5 con Ruby Sinatra



server-sent-events (1)

Si desea admitir eventos, debe crear su propio objeto de cuerpo . Eche un vistazo a la implementación y usage . Asegúrate de ejecutarlo con Thin o Rainbows. No funcionará en Mongrel o WEBrick.

Puede ver la presentación en Confreaks (su código fuente en GitHub ).

Actualización: Este es un ejemplo más (aplicación de chat simple que utiliza la API de transmisión de Sinatra).

Soy nuevo en Ruby y Sinatra, estoy tratando de configurar un evento HTML5 Server-Sent simple. El siguiente código funciona bien en las versiones de desarrollador de Chrome, pero falla en las versiones de desarrollador y Safari en Windows7 y OSX.

El mensaje de error en la consola del navegador es "Error al cargar el recurso: cancelado"

var source = new EventSource(''pull''); source.addEventListener(''message'', function(e) { console.log(e.data); }, false); source.addEventListener(''open'', function(e) { // Conn open }, false); source.addEventListener(''error'', function(e) { if (e.eventPhase == EventSource.CLOSED) { // Connection was closed. } }, false);

Con la siguiente ruta de Sinatra

get ''/pull'' do content_type ''text/event-stream'' newevent = false response = "data: "+newevent.inspect+" /n/n" end

He probado un código de servidor similar con JSP y Tomcat y funciona bien en todos los navegadores.

¿Qué necesito saber sobre Sinatra? ¡Gracias!