2012-01-14 8 views
8

Estoy trabajando en una aplicación de rieles que será expuesta principalmente por una API a varios clientes móviles (iOS, Android, etc.). La aplicación implica que los usuarios envíen datos al servidor (a través de llamadas de API), pero lo que quiero incluir es la capacidad de enviar estos datos a otros clientes. El concepto general es similar a una aplicación de mensajería, donde envío un mensaje al servidor desde mi cliente y el receptor recibe el mensaje del servidor.Enviar datos desde la aplicación de rieles a los clientes

El único método que conozco en este momento es sondear constantemente el servidor, pero debe haber mejores soluciones tecnológicas que esta. ¿Algunas ideas?

Respuesta

4

que debe salir http://www.pusher.com

Pusher es una API alojada de forma rápida, fácil y segura de añadir funcionalidad en tiempo real escalable para web y aplicaciones para móviles.

Si necesita una solución autohospedada, entonces debería verificar la gema de slanger https://github.com/stevegraham/slanger que es la implementación del servidor para las bibliotecas del cliente empujador. Cuando sientes que necesitas una solución alojada, solo cambias las URL.

Slanger es una implementación de servidor de fuente abierta del protocolo Pusher escrito en Ruby. Está diseñado para escalar horizontalmente a través de N nodos y para ser independiente de a qué nodo Slanger está conectado un abonado, es decir, NO es necesario que los suscriptores al mismo canal estén conectados al mismo nodo Slanger. Múltiples nodos de Slanger pueden sentarse detrás de un equilibrador de carga sin configuración especial. En esencia, fue diseñado para ser muy fácil de escalar.

+0

Gracias, yo estaba buscando una solución alojado en sí mismo ya que este proyecto se basa en gran parte en mi necesidad de desarrollar mis conocimientos – Jack

4

Me gustaría ver usando un WebSocket dentro de la página para empujar el actualizaciones.

Puede implementar esto usando Faye, que se reduce a largas encuestas y otras soluciones alternativas para navegadores sin soporte de websocket. Faye tiene una implementación de rubí puro, por lo que probablemente puedas acceder a tu capa de modelo.

Editar:

Además, este es un proyecto que combina Faye con rieles. Es bastante nuevo, pero podría hacer lo que quiera. Faye-Rails

1

Prefiero event machine sobre cualquier otra solución. Es algo más complicado que faye pero puedes escribir código mucho más sofisticado utilizando la máquina de eventos.

Es posible que desee comprobar this screencast PeepCode en la máquina evento

Cuestiones relacionadas