ruby-on-rails - Ruby on Rails 3 - 公共(public)实时聊天

标签 ruby-on-rails ruby ruby-on-rails-3 chat ruby-on-rails-plugins

我想使用 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/

相关文章:

ruby-on-rails - 为什么在 after hook 中添加 "sleep 1"会导致此 Rspec/Capybara 测试通过?

ruby-on-rails - Neo4j 急切加载 ActiveRel

ruby-on-rails-3 - 如何使用 Ajax 和 Jquery 在 Rails 3 中显示 flash 错误消息?

ruby-on-rails - Rails-api HTTP token 认证

ruby: "p *1..10"中的星号是什么意思

ruby-on-rails - 删除后刷新页面

ruby - 在用户登录注销时启动和停止守护进程

java - 如何以类似 Ruby on Rails 的方式开发 Java webapps?

performance - 缓慢的 s3 url 生成回形针

ruby-on-rails - Rails 3.2 Assets 管道和 RequireJS