2010-08-27 12 views
24

¿Cuál es la mejor práctica para el servidor de sondeo con JavaScript para la aplicación que necesita actualizar datos muy rápidamente? Estoy usando jQuery para front-end y Java Spring Framework para back-end.sondeo de servidor con JavaScript

Ejemplo de datos actualizados podría ser una lista de elementos que se actualizan muy rápidamente (cada 1 segundo).

+1

Definir muy rápidamente. Una vez por minuto? Una vez cada diez segundos? Una vez cada segundo? ¿Qué tipo de datos? –

+0

¡Cada 1 segundo y los datos enviarían un texto y tal vez un html en cantidades muy pequeñas – newbie

Respuesta

39

Es posible que desee utilizar jQuery's Ajax functions para sondear el servidor cada segundo más o menos. Luego, el servidor puede responder con instrucciones al navegador casi en tiempo real.

También puede considerar long polling en lugar de lo anterior, para reducir la latencia sin aumentar la frecuencia de las encuestas.

Citando Comet Daily: The Long-Polling Technique:

El largo de votación técnica cometa es una técnica que optimiza la votación tradicional para reducir la latencia.

El sondeo tradicional envía un XMLHttpRequest al servidor en intervalos fijos. Por ejemplo, abra un nuevo XMLHttpRequest cada 15 segundos, reciba una respuesta inmediata y cierre la conexión.

Long-polling envía una solicitud al servidor, pero una respuesta no se devuelve al cliente hasta que esté disponible. Tan pronto como se cierra la conexión, ya sea debido a una respuesta que recibe el cliente o si una solicitud expira, se inicia una nueva conexión. El resultado es una reducción significativa de la latencia porque el servidor generalmente tiene una conexión establecida cuando está lista para devolver información para devolverla al cliente.

Además de lo anterior, también sugiero que consulte la respuesta aceptada para el siguiente post desbordamiento de pila para una descripción detallada de la técnica de sondeo de largo:

+0

+1 muy interesante! " –

3

I second Daniel's suggestion para usar una encuesta larga o push. Salida

CometD es un bus de eventos de enrutamiento basado en HTTP escalable que utiliza un patrón de la tecnología push Ajax conocido como cometa. El término 'Cometa' fue acuñado por Alex Russell en su publicación Comet: Datos de baja latencia para el navegador.

Ellos tienen una página que explica cómo conseguir que el trabajo con la primavera:

Cuestiones relacionadas