2009-01-29 20 views
10

¿Existe alguna forma general de implementar parte de una aplicación con JavaScript y de proporcionar una conexión persistente a un servidor? Necesito que el servidor pueda enviar datos al cliente, independientemente de si el cliente está detrás de un firewall. Gracias de antemanoConexión persistente con el cliente

Respuesta

13

Ver Comet - es como ajax, pero tiene una conexión abierta para que el servidor pueda enviar información al cliente.

Tenga en cuenta que los navegadores compatibles solo tendrán 2 conexiones (nota: most modern browsers no longer comply) a un dominio en particular (de manera predeterminada), por lo que es posible que desee dividir sus dominios (por ejemplo, www.sudominio.com y comet.sudominio.com) para que no ralentiza drásticamente la carga de sus páginas. O simplemente podría asegurarse de no abrir la conexión del cometa hasta que todo lo demás esté cargado. Es solo algo de lo que debes cuidarte.

2

Con HTTP, la conexión tiene que empezar desde el cliente. Pero hay técnicas disponibles para que el servidor mantenga abierta la conexión y elimine los datos según sea necesario.

Generalmente se consideran Comet o HTTP Streaming arquitecturas.

2

Puede utilizar Comet técnicas de programación para esto. Básicamente, la página hace una llamada al servidor que no regresa hasta que el servidor tiene algo que enviar (en ese momento el cliente realiza inmediatamente la misma llamada). De esta forma, el servidor puede enviar contenido al cliente casi siempre que lo desee.

El soporte varía según la plataforma y es más un problema con el servidor que con el cliente.

Cuestiones relacionadas