Ruby on Rails 3 - 公开在线聊天

Say*_*yuj 6 ruby chat ruby-on-rails ruby-on-rails-plugins ruby-on-rails-3

我想使用rails 3创建一个公共实时聊天应用程序.

我在rails 2上找到了一些例子.任何人都可以告诉你一个很好的例子/教程来开发使用rails 3的实时聊天应用程序.

yel*_*waj 7

当我尝试在rails 3应用程序中实现公共和私人聊天系统时,我遇到了几个障碍.我看着faye,juggernaut,node.js等等.最后,在尝试了几种方法后,我能够实现一个效果很好的系统:

1)我开始按照Devin M提到的Railscast 260中的 faye消息传送视频指南开始.我能够快速设置持久消息的rails应用程序,以及将这些新消息推送给所有客户端的聊天服务器.最大的问题是安全问题.我无法控制对聊天服务器的访问.

2)这导致我在Railscast 316中使用Ryan Bates的私人酒吧宝石- 这有助于通过验证客户的签名来保护您的faye服务器.这有助于保护服务器,但我遇到了尝试使用我的身份验证系统验证实际用户并添加"谁在线"功能的问题.我在私人酒吧的黑客上工作,在验证时传递用户详细信息但无法顺利运行.

3)最后,我决定将聊天服务器移动到推送器 - 一个用于实时应用程序的托管API.我按照本教程学习如何在rails中创建实时调查,以了解如何设置.虽然不直接关于设置聊天系统 - 本教程以及我已经从上面的Railscasts设置的内容(以及易于阅读的推文文档),允许我快速设置安全的rails 3聊天应用程序 - 完成身份验证,'谁在线',状态信息等等.最好的部分是......我没有必要处理聊天服务器的管理.

希望这可以帮助某人经历与我相同的过程.


Dev*_*n M 6

您可以使用Railscast 260获得基础知识,我已经假定了Rails/Ruby的背景知识以及jQuery/JavaScript的一些知识.截屏视频在这里有一个文本版本,源代码在这里,它也在GitHub上.


Ale*_*ski 3

我首先查看 Ilya Grigorik 的em-synchony +示例,并查看Hector私人聊天服务器 gem的代码。