Comet y el HTML5
Uno de los problemas con los que nos enfrentamos al intentar desarrollar una aplicación en Comet es que hay que simularlo, ya que los navegadores aún no admiten la posiblidad de recibir información directamente del servidor (push). En la especificación de HTML5 nos encontramos con los eventos enviados por el servidor (server sent events) y el elemento event-source, el cual representa el destino de los eventos producidos por el servidor.
El elemento event-source tiene el atributo src que indica la URL que se procesará, la cual se llamará una vez el elemento haya sido añadido al documento. Para poder recibir la información, el Content-type de la respuesta debe ser application/x-dom-event-stream, teniendo un formato parecido a:
Event: test
Target: p
data: data
Un ejemplo de código para el cliente sería el siguiente:
<p>It should say "PASS" below:</p>
<p id="p">FAIL (script did not run)</p>
<script>
document.addEventListener("click", update, false)
function update(e) {
pass = e.target.id == "x"
document.getElementById("p").firstChild.data = pass ? "PASS" : "FAIL"
}
</script>
<event-source src="support/sse-target.php?target=p&event=click" onclick="update(event)" id="x">
Por ahora solo está implementado en Opera, aunque otros navegadores ya están trabajando en ello. Esperemos que se vuelva un elemento común en todos los navegadores para poder desarrollar aplicaciones web mucho más interesantes.
Más información
- pi.comet
- Server Side DOM Events vs XMLHttpRequest's onload
- The Future of Comet: Part 2, HTML 5’s Server-Sent Events
Relacionados
Feedback (2) » Formulario
1. karen ~ Domingo, 30 Mar 2008 | 03:23H:
Hola Luis, he buscado información sobre COMET y la verdad que no encuentro mucha, de hecho el articulo que tu expones es uno de los mas claros que he leido, eso se agradese mucho. Te queria hacer una pregunta, ojala que tengas un tiempo y me puedas ayudar. Me gustaria saber sobre la seguridad de las aplicaciones realizadas con COMET, Cualquier comentario me seria de gran ayuda.Gracias

