Comet / Push Server Technology

Hola, les comento, estaba haciendo lo que mejor se hacer... (....nada...) y bueno me puse a programar un rato con GWT haciendo una especie de chat, y me encontre con un problema, "como puedo enviar cosas desde el servidor hacia el cliente, sin tener que estar preguntando cada cierto tiempo desde el cliente hacia el servidor?" bueno, realize un post (no muy explicativo) en el foro de GWT y pues me comentaron sobre esta tecnologia Comet / Push.

me puse a leer en wikipedia sobre esto, la idea es basica simplemente, se usa un mecanismo donde se mantiene una conexion con el servidor http en lugar de cerrarla como usualmente pasa, y se envia la informacion desde cualquier lado, sin gastar muchos recursos, eso es mas que todo la base, ando investigando como puedo implementarlo ya que no tengo la mas minima idea, pero para los interesados pueden leer estos links.

http://alex.dojotoolkit.org/?p=545
http://en.wikipedia.org/wiki/Comet_%28programming%29

Saludos,

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

KeepAlive

Debes mandar un encabezado de keep-alive en tu petición HTTP para que el servidor no te cierre la conexión cuando termina de mandarte datos.
El keep-alive se inventó para que a través de la misma conexión se pueda obtener primero una página y luego imágenes o scripts o cualquier otra cosa que necesite el browser para desplegar bien la página, de modo que se pueden enviar varias peticiones HTTP por la misma conexión y al final cuando el browser tiene ya todo lo que necesita entonces cierra la conexión. Lo que mencionas de usarlo para un chat, requiere mantener la conexión viva constantemente y el problema es que eso puede representar muchas conexiones abiertas en el server lo cual consume bastantes recursos. Por eso los chats generalmente usan otros protocolos; para actualizar el status de un usuario y cosas asi, me parece que se comunican a nivel UDP con los clientes, para no tener que mantener una conexión abierta.

Lo que estás haciendo es un ejercicio para aprender GWT, o necesitas realmente tener un programa de chat basado en web? el web no es la respuesta a todas las cosas, y la mensajería instantánea es un claro ejemplo de algo que es mejor implementar como cliente-servidor, por la complejidad de las comunicaciones (si ya se que existen clientes web de messenger y cosas asi pero como todo mundo sabe, estan bastante limitados por lo mismo de la comunicación síncrona de HTTP).

Given the choice of dancing pigs and security, users will choose dancing pigs, every single time.
Steve Riley

Imagen de Gabriel

Enrealidad no es un chat (

Enrealidad no es un chat ( "especie de..."), lo q quiero hacer es para aprender mas sobre GWT, lo que quise ahce es emular una consola y realizar las configuraciones de un servidor en la Web. y por eso pense despues que lei sobre comet / push hacerlo con esto.

Saludos,