我正在寻找ROR 3的可靠websocket服务器。现在我们使用的是socky。这是不可靠的。我们喜欢它,因为它具有闪回回退功能,因此它可以在较旧的浏览器上工作......但是又一次 - 它不可靠。 你知道ROR与后备任何良好的WebSocket服务器(即支持所有浏览器)Socky Alternative
0
A
回答
8
替代品:
- socket.io(生的WebSocket为的NodeJS)
- juggernaut(完成贝叶协议的NodeJS/Rails的)
- faye(完全贝叶协议的NodeJS/Rails)的具有红宝石服务器
小建议:不要使用ruby作为websocket服务器,去NodeJS--我们每小时处理数千条消息而没有任何问题。
我们用最简单的设置可以使工作 - 和它的作品;)
我们的设置:
- 的Rails 3.0.9
- Redis的
- 的NodeJS
- 插座.IO
我们如何设置:
Rails --PUB--> REDIS --SUB--> NodeJS --WEBSOCKET (SOCKET.IO)--> Client
文章Redis PubSub - How does it work?
另一个秘诀:避免认证如果可能的话
这里有我们的情况:
我们必须像一个虚拟文件系统项目管理工具。假设您正在查看文件夹,而您的团队中的其他人上传了新文件。现在我们要通知您,您的看法是出之日起的 - 我们发送消息,如:
folder_id | last_change_timestamp
到通道folders:#{folder_id}
现在的客户端(侦听folders:#{folder_id}
接收的消息以及看到“哎呦我的看法是过时的”,并显示一条消息“你的观点已经过时,请点击>这里<刷新”
的好处是,我们不需要任何身份验证,因为:
- 如果你有项目没有进入你将不得不猜测folder_id订阅频道
- 即使你设法订阅频道,你得到的唯一信息是事情有了变化 - 没有更多不少于;)
相关问题
- 1. Socky连接失败
- 2. Socky with rails 2.3.x
- 3. Swift:NSTimer Alternative
- 4. Eval alternative
- 5. beginSheet:block alternative?
- 6. Phonegap Alternative
- 7. Xrefresh alternative
- 8. Alternative ContextMenuStrip
- 9. JConsole alternative
- 10. ContentEditable Alternative
- 11. setTimeout alternative
- 12. php:array_replace_recursive alternative
- 13. AVFoundation Alternative
- 14. Redux Alternative
- 15. CSS - Calc alternative
- 16. JavaScript innerHTML.length alternative
- 17. Emacs ECB Alternative
- 18. Microsoft AntiXSS Alternative
- 19. Java getElementById()或Alternative
- 20. 开源Clearcase Alternative
- 21. MySQL Query - alternative
- 22. Javascript code alternative
- 23. Me.Handle in Module - Alternative?
- 24. http://www.winpcap.org/ alternative
- 25. http://modules.sourceforge.net/ alternative
- 26. Google Groups alternative
- 27. JIRA/confluence alternative
- 28. BlackBerry OAuth Alternative
- 29. Alternative WebBrowser .Net C#
- 30. NodeJS Alternative For Android
我们在生产和测试主宰中使用faye/socket.io。 – sled
@sled,它的表现如何?很难安装?它是否有后备? – user194076
@sled让你的评论一个答案。如果您考虑托管服务,那么您可能会发现[Pusher](http://pusher.com),我为谁工作的一个有趣的解决方案。 – leggetter