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!