最好的Ruby on Rails WebSocket工具

时间:2011-01-22 10:15:44

标签: ruby-on-rails ruby-on-rails-3 websocket

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

  • 开源
  • 某种渠道支持
  • Rails的助手(并使用Rails 3)

4 个答案:

答案 0 :(得分:79)

如果您正在搜索纯WebSocket实现,那么EM-WebSocket可能是最好的。如果您想支持非闪存后备(如旧手机或iPhone 3G),您应该尝试Socket.IO-rack

对于像Pusher这样的全功能实施(使用身份验证和频道),您有两种开源选择:SockyJuggernaut

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

答案 1 :(得分:19)

看看faye

答案 2 :(得分:10)

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

Here's a tutorial关于如何使用它。

答案 3 :(得分:9)

另一个可能满足您需求但稍微更深奥的选项是使用其中一个Jruby应用程序服务器并使用其中一个Java websockets实现。众所周知,Jetty(Trinidad的基础)拥有最好的websockets支持。另一个选项(非常酷)是使用带有websocket包装器的消息服务器来实现消息端点。例如,Torquebox(专用的Jruby / Rails应用程序服务器)内置了对HornetMQ的支持,而HornetMQ又支持support for websockets