2010-09-14 21 views
5

Me preguntaba si es posible tener un servicio web RESTful y una comunicación bidireccional con los clientes y el servidor.RESTful: comunicación bidireccional

En mi caso, el estado en el servidor puede cambiar, por lo que el servidor debe enviar un mensaje a los clientes para actualizarse. Quizás eso es totalmente en contra de la idea RESTful.

¿Puedo AJAX ayudarme con este problema?

Gracias!

+0

Por lo que entiendo de REST, sí, el estado está en contra de REST –

Respuesta

4

No es realmente posible en el paradigma http estándar, pero echa un vistazo a Comet para una posible solución a ese problema y siempre hay un sondeo.

+0

Gracias por el enlace a Comet – myborobudur

0

La funcionalidad que busca es tratada por el concepto de web sockets, pero todavía no son convencionales.

Para mantener su solución RESTful, puede hacer que los clientes sondeen su servicio. Puede optimizar cualquier cantidad de formas, como implementar un método especial que permita a los clientes consultar los cambios con una marca de tiempo, luego el cliente solo realiza un seguimiento de la última vez que se verificó.

+0

¿Hay un navegador compatible con sockets web ya? Vi que JBoss Netty admite esta conexión. – myborobudur

0

Deberías echar un vistazo a BOSH. BOSH es similar a Comet, pero más específico, y creo que hay implementaciones más confiables.

Sin embargo, tendrá problemas para atender a varios usuarios al mismo tiempo si desea utilizar un servicio REST estándar. Debería pensar en alguna otra implementación usando IO no bloqueante.
Probablemente haya más preguntas sobre . Por supuesto, ahora también hay , pero si necesita servir navegadores antiguos, no puede confiar en ellos.

Cuestiones relacionadas