我在Rails 3中开始了项目,我需要添加通知(比如Facebook一个).最好的方法是使用WebSocket作为iPad等支持设备,但我找不到任何好的工具来轻松地在Rails中实现它.我找到了Pusherapp,但他们的价格太高了,我也不认为向第三方公司提供我的数据是明智的.所以需要的东西:
开源
某种渠道支持
Rails的助手(并使用Rails 3)
小智.. 79
如果您正在搜索普通的WebSocket实现,那么EM-WebSocket可能是最好的.如果你想支持非闪存后备(如旧手机或iPhone 3G),你应该尝试Socket.IO-rack.
对于像Pusher这样的全功能实现(具有身份验证和通道),您有两个开源选择:Socky和Juggernaut.
Socky是一个使用EM-WebSocket(像pusher)的纯ruby项目,它有一些很好的Rails工具.另一方面,Juggernaut有更多的历史(以及更多的用户atm.)但新版本被重写为Node.JS(客户端仍然是基于ruby的)并且需要Redis.两者都应该工作正常.
如果您正在搜索普通的WebSocket实现,那么EM-WebSocket可能是最好的.如果你想支持非闪存后备(如旧手机或iPhone 3G),你应该尝试Socket.IO-rack.
对于像Pusher这样的全功能实现(具有身份验证和通道),您有两个开源选择:Socky和Juggernaut.
Socky是一个使用EM-WebSocket(像pusher)的纯ruby项目,它有一些很好的Rails工具.另一方面,Juggernaut有更多的历史(以及更多的用户atm.)但新版本被重写为Node.JS(客户端仍然是基于ruby的)并且需要Redis.两者都应该工作正常.
看看王菲.
EM-WebSocket可能是最好的Ruby实现.事实上,Pusherapp是建立在它上面的.它与EventMachine集成.
这是一个如何使用它的教程.
另一个可能满足您需求但稍微更深奥的选项是使用其中一个Jruby appservers并使用其中一个Java websockets实现.众所周知,码头(特立尼达的基地)拥有最好的支持网箱.另一个选项(非常酷)是使用带有websocket包装器的消息服务器来实现消息端点.例如,Torquebox(专用的Jruby/Rails应用程序服务器)内置了对HornetMQ的支持,而HornetMQ又支持websockets.