在 Rails 中实现聊天
Posted
技术标签:
【中文标题】在 Rails 中实现聊天【英文标题】:Implementing chat in Rails 【发布时间】:2012-05-09 07:14:09 【问题描述】:我正在尝试在我的 rails 应用程序中实现 chat module
。我查看了这个 railscast Faye 教程。在本教程中,Ryan 提到了 broadcasting
消息,但我想要的更像是客户端之间的 private conversations
,而不是广播。
通过faye可以做到吗?还是有更好的方法?
【问题讨论】:
这只是改变你的想法的问题。即使它被称为“广播”,您实际上只是在创建一个供两个人订阅的唯一 URL。 【参考方案1】:有一个 gem 可以为您处理 faye 的 autentications,因此用户只能收听您订阅的频道。还有一个关于那个宝石的 railscast。 https://github.com/ryanb/private_pub
【讨论】:
我正在尝试两个人之间的某种私人对话,而不是聊天室。 Faye的订阅是基于url的,那怎么能用于个人之间的私聊呢? /conversation/conversation_id。对话与聊天有何不同?【参考方案2】:我对 Faye 了解不多,但是假设原理与纯 node.js 和 websockets 之类的原理相同,您可以将可以订阅的频道划分为尽可能多的聊天,那么您需要在客户端订阅该频道之前进行某种身份验证,其中有多种方法,与大多数身份验证系统一样(例如共享密钥、用户名/密码、质询/响应等)。
【讨论】:
【参考方案3】:我在private_pub
上使用了 Ryan 的教程来实现类似 Gmail 的即时消息功能。它实际上并不是很复杂。看看我是如何在本教程中实现的 http://goo.gl/l3e8zN
【讨论】:
以上是关于在 Rails 中实现聊天的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有rails的ruby中实现Application Record
如何在 Rails 中实现 Paypal 回调? (获取 InvalidAuthenticityToken 错误)