Actualización automática de visualización de datos JSP

Actualmente estoy haciendo una página de libro de visitas. Que permiten al usuario comentar sobre ciertos elementos. Dejemos que el usuarioA publique un comentario. ¿Cómo se hace para que la nueva publicación se muestre automáticamente en la página del navegador userB? Puedo mostrar la publicación en el navegador del usuarioA, pero ¿cómo hacerlo para que el navegador del usuario B también se actualice automáticamente para mostrar la nueva publicación?

preguntado el 27 de agosto de 11 a las 15:08

4 Respuestas

Si está codificando algún tipo de mensajería instantánea, donde debería haber un retraso muy pequeño entre la publicación y su aparición en la página del usuario B, entonces mire Comet, como sugirió Anthony.

De lo contrario, la forma más sencilla de lograr esto es tener la página en el usuario B con regularidad (cada 2, 3, 5, 10 minutos: usted decide qué es aceptable) sondear el servidor en busca de nuevos mensajes utilizando una solicitud AJAX. Sin embargo, asegúrese de no consumir todo su ancho de banda haciendo esto.

Respondido 27 ago 11, 19:08

Sí. Una solicitud AJAX o incluso algo más de la vieja escuela como Meta actualización. Pero, de nuevo, siga el consejo de @JB, esto puede consumir potencialmente una gran cantidad de ancho de banda. - Anthony Accioly

¿Qué tal si es un sitio de subastas? ¿Cómo reflejar los datos? - user236501

Depende del ancho de banda que usted (y los usuarios) tenga, el número de usuarios concurrentes y el retraso aceptable. No hay una respuesta definitiva. Vea qué se adapta mejor a su situación. - JB Nizet

Está buscando AJAX inverso (también conocido como Cometa).

Actualizar:

Una vez que aprenda los conceptos básicos, le recomendaría Atmósfera para entregar la implementación real. Además, si puede elegir su contenedor, iría con Embarcadero or Pescador de pescado.

Respondido 27 ago 11, 19:08

Google Mojo: java.dzone.com/articles/using-atmospheres-jquery-plug. Comet no es algo que pueda aprender de una publicación de stackoverflow. Tómese su tiempo para estudiar y aprender las técnicas involucradas y cuando tenga una pregunta más específica, no dude en hacerla. - Anthony Accioly

Puede utilizar Comet para la aplicación.

Mira el ejemplo Desarrollando con Comet y Java

Respondido 27 ago 11, 20:08

En lugar de usar cometa, simplemente mantenga un temporizador de jquery y sondee su servidor para obtener nuevas actualizaciones.

Así es como debe realizar una encuesta.

0. Assume each message posted has a unique incremental rownumber.
1. pass your client page's last displayed row number.
2. check if there are any rows greater than the rownumber you passed.
3. if more,return all those rows to the client.
4. do all the above things using ajax,preferably in jquery.

respondido 29 mar '12, 14:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.