最佳Ruby on Rails WebSocket工具

我开始在Rails 3项目,我需要添加通知(如Facebook之一)。 最好的办法是使用WebSocket支持iPad等设备,但我找不到任何好的工具来轻松在Rails中实现它。 我发现Pusherapp,但他们的价格是压倒性的,我也不认为提供我的数据到第三方公司将是明智的。 所以需要的东西:

  • 开源
  • 某种渠道支持
  • Helpers for Rails(和Rails 3一起工作)

如果你正在寻找简单的WebSocket实现,那么EM-WebSocket可能是最好的。 如果你想支持非闪存后备(如旧手机或iPhone 3G),你应该尝试Socket.IO机架 。

对于像Pusher(带有authentication和通道)的全function实现,你有两个开源的select: Socky和Juggernaut 。

Socky是一个纯粹的使用EM-WebSocket的ruby项目(就像推送器一样),它有一些Rails的好工具。 另一方面,剑圣有更多的历史(和更多的用户atm),但新版本被重写为Node.JS(客户端仍然是基于ruby的),并需要Redis。 两者都应该工作正常。

看看faye 。

EM-WebSocket可能是最好的Ruby实现。 实际上,Pusherapp就是build立在它上面的。 它与EventMachine集成。

这是一个关于如何使用它的教程 。

另一个可能满足您的需求但稍微更深奥的select是与一个Jruby应用服务器一起使用,并使用其中一个Java websockets实现。 Jetty( 特立尼达的基地)已知有最好的websockets支持。 另一个选项(非常酷)是使用消息服务器和消息端点的websocket包装器。 作为一个例子, Torquebox (一个专用的Jruby / Rails应用服务器)内置了对HornetMQ的支持,而HornetMQ又支持websocket 。