我想使用 Rails 3 创建一个公共(public)实时聊天应用程序。
我在 rails 2 上找到了一些例子。任何人都可以告诉你一个很好的例子/教程来使用 rails 3 开发一个实时聊天应用程序。
最佳答案
当我试图在我的 Rails 3 应用程序中实现一个公共(public)和私有(private)聊天系统时,我遇到了几个障碍。我查看了 faye、juggernaut、node.js 等。最终在尝试了几种方法之后,我能够实现一个运行良好的系统:
1) 我开始关注 Railscast 260 中的 faye 消息传递视频指南。正如 Devin M 所提到的,我能够快速设置一个保留消息的 Rails 应用程序,以及一个将这些新消息推送给所有客户端的聊天服务器。最大的问题是安全。我无法控制对聊天服务器的访问。
2) 这让我使用了 Ryan Bates 在 Railscast 316 中的私有(private)酒吧 gem - 这有助于通过验证客户端的签名来保护您的 faye 服务器。这有助于保护服务器,但我在尝试使用我的身份验证系统验证实际用户并添加“谁在线”功能时遇到了问题。我曾对私有(private)酒吧进行黑客攻击,以便在进行身份验证时传递用户详细信息,但无法顺利进行。
3) 最后我决定把聊天服务器移到pusher - 用于实时应用程序的托管 API。我在 how to create a real-time survey in rails 上关注了本教程了解如何进行设置。虽然不是直接关于设置聊天系统 - 本教程连同我已经从上面的 Railscasts(以及易于阅读的推送器文档)设置的内容,使我能够快速设置安全的 Rails 3 聊天应用程序 - 完成身份验证、“谁在线”、状态消息等等。最好的部分是......我不必管理聊天服务器。
希望这对经历与我相同过程的人有所帮助。
关于ruby-on-rails - Ruby on Rails 3 - 公共(public)实时聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7156729/