2012-08-29 33 views
6

Estoy tratando de crear una página que use el objeto EvenSource (en javascript) para hacer un evento enviado por el servidor (cometa). He leído muchos tutoriales sobre ella y no han encontrado una que explica las siguientes preguntas:Error al manejar en EventSource

  1. Cuando me suscribo al evento "onerror" de la EventSource - ¿cuál es el tipo del parámetro que consigo? ¿Cómo sé exactamente cuál fue el error?

  2. Sé que EvenSource tiene un estado de listo y que cambia según el navegador. ¿Por qué mi readystate cambia a 0 después de que se produce cada evento "onmessage"? (uso Chrome)

  3. ¿Cómo demuestro que mi conexión con el servidor permanece conectada y no la vuelvo a conectar siempre?

Navegador: Chrome.

el lado del servidor:.. Java (si es relevante el ejemplo que hice es en Java EE vista previa pero voy a trabajar en WebLogic 10R3

¿Qué ocurre en mi ejemplo es que los datos se están enviado desde el servidor al cliente, que se produce el evento "onerror" (readystate es 0) y después de 3 segundos (por defecto para el cromo) se vuelve a conectar y envía los datos de nuevo

el código javascript:.

var source = new EventSource("TrySRV"); 
source.onmessage = function(event){ 
    alert(event.data); 
} 

source.onerror = function(event){ 
    alert(source.readystate); 
} 

El código Java:

response.setHeader("Content-Type", "text/event-stream"); 
response.setHeader("Cache-Control", "no-cache"); 
response.getWriter.write("Hello World"); 

Si falta algo más que desee saber, dígamelo. Espero que puedas ayudarme.

Gracias!

Respuesta

Cuestiones relacionadas