Comet es una librería la cual nos permitirá comunicarnos con un servidor web utilizando pedidos HTTP que no terminan de enviar una respuesta y así nos permiten mantener una comunicación fluida con el navegador web.
El diagrama a continuación indica el flujo de la data con el uso de Comet
imagen1
  1. El navegador abre la página indicada.
  2. Luego de que la página es cargada, JavaScript establece una conexión persistente con el servidor Comet.
  3. Mientras la página siga abierta, nuestro servidor puede enviar cualquier mensaje al navegador. Para realizar esto, utiliza un API de envío de mensajes el servidor Comet.
  4. El servidor Comet utiliza la conexión abierta con len navegador y envía el mensaje.
  5. El API JavaScript recibe el mensaje y llama al callback indicado.
Para nuestro servidor Comet, estaremos utilizando el servidor gratuito:
  • El flujo en el código que veremos a continuación funcionará de la siguiente forma:
  • El usuario visita la página e inmediatamente se suscribe a un API JS para obtener mensajes instantáneos de un canal de chat.
  • Para enviar un mensaje un pedido en AJAX es utilizado el cual envía un mensaje de texto a un servidor PHP
  • PHP procesa el mensaje recibido y lo guarda en una base de datos
  • Luego PHP se conecta al servidor Comet y le envía un pedido para enviar el mensaje al canal
  • El servidor Comet recibe el mensaje de PHP y envía a todos los suscritos al canal.
El código HTML, JS y AJAX para lograr el flujo es el siguiente:
Él código PHP necesario es el siguiente:
Esta es una manera muy sencilla de implementar un servidor de chat basado en Comet.