web-dev-qa-db-fra.com

Meilleur Ruby on Rails WebSocket tool

J'ai commencé le projet en Rails 3 et je dois ajouter des notifications (comme Facebook one). La meilleure façon serait d'utiliser WebSocket pour les appareils de support comme iPad, mais je ne trouve pas de bons outils pour faciliter l'implémenter dans Rails. J'ai trouvé Pusherapp, mais leurs prix sont accablants, et je ne pense pas non plus que fournir mes données à une société tierce serait sage.

  • Open source
  • Certains types de canaux prennent en charge
  • Helpers for Rails (et travailler avec Rails 3)
81
Jero Toryaki

Si vous recherchez une implémentation WebSocket simple, alors EM-WebSocket est probablement le meilleur. Si vous souhaitez une prise en charge de secours non flash (comme les anciens téléphones ou l'iPhone 3G), vous devez essayer Socket.IO-rack .

Pour les implémentations complètes comme Pusher (avec authentification et canaux), vous avez deux choix open source: Socky et Juggernaut .

Socky est un pur Ruby projet utilisant EM-WebSocket (comme pousseur) et il a quelques bons outils pour Rails. D'autre part, Juggernaut a plus d'historique (et plus d'utilisateurs atm.) Mais le nouveau La version a été réécrite dans Node.JS (le client est toujours basé sur Ruby) et nécessite Redis. Les deux devraient fonctionner correctement.

79
Bernard Potocki

Jetez un oeil à faye .

19
Gonzih

EM-WebSocket est probablement le meilleur Ruby implémentation. En fait, Pusherapp est construit dessus. Il s'intègre avec EventMachine .

Voici un tutoriel sur la façon de l'utiliser.

10
Adam Lassek

Une autre option qui pourrait répondre à vos besoins, mais qui est un peu plus ésotérique, consiste à utiliser l'un des serveurs d'applications Jruby et à utiliser l'une des implémentations Websockets Java Java. Jetty (la base pour le Trinidad ) est connu pour avoir le meilleur support websockets disponible. Une autre option (ce qui est plutôt cool) est d'utiliser un serveur de messagerie avec des wrappers websocket pour les points de terminaison des messages. Par exemple, Torquebox (un serveur d'applications Jruby/Rails dédié) a un support intégré pour HornetMQ, qui à son tour a support pour websockets .

9
Ivar