【问题标题】:instant messenger implementation for rails?Rails 的即时通讯实现?
【发布时间】:2012-03-12 02:42:46
【问题描述】:

我已经搜索了一段时间,研究了几种技术来为 ruby​​ on rails 应用程序构建一个简单的即时消息系统。这似乎很复杂,因为我根本没有找到任何跨浏览器或任何 1-1 概念证明的实现。

调查过:

  • xmpp客户端(github上有Candy只支持群聊)
  • xmpp 服务器和 Rails(很多麻烦没有好的集成)
  • Juggernaut(编号 1-1,由于使用了 Web 套接字,因此 Internet Explorer 不支持)
  • ryan bates 的私人酒吧(似乎能够做到这一点,但作为 ruby​​ 新手,几乎没有这方面的文档无法理解)

谁能给我推荐一个 Rails 即时通讯工具:

  • 即跨浏览器
  • 有很好的文档,实现示例
  • Instant Messenger,用户 A 与用户 B 对话,用户 B 与用户 A 对话

我真的不知道我将如何实现这个,任何人都可以给我建议如何解决这个问题?谢谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 instant-messaging private-messaging


    【解决方案1】:

    正如埃里克所说,没有。消息传递是一件非常困难的事情。

    现在我正在使用Pubnub,这是一个外部服务。没有关于 Rails 集成的很好的文档,所以你只能自己尝试。

    在更好的记录方面,有 Faye,但这是一个内部进程,需要运行两个实例(一个用于响应 Faye 请求,一个用于运行您的应用程序)。在 Heroku 上做这件事有点棘手(而且成本更高),所以我只坚持使用 Pubnub。

    关于 Faye 文档,请查看此 Railscast,出于隐私考虑,请查看 Private Pub。

    编辑:如果您认为 Private Pub 难以集成.. 好吧,不是刻薄,但也许您应该在深入研究这个问题之前尝试更多地了解 Rails 和 Javascript,因为这不是一件容易的事(尽管看起来应该如此)

    编辑 2: 另外,对于 faye,this tutorial might help you out.

    对于这类事情,您最好使用 Node.js。

    【讨论】:

    • Privatepub 本身并不难设置,问题在于在频道中管理,基本上有一个 2 人的房间名称并且订阅他们可以工作,也许我应该更多地研究它。
    • 嗨@varatis 谢谢你的回答,它对我有很大帮助:) 只有一个问题:你是什么意思需要两个实例来运行?我对服务器设置没有太多经验谢谢
    • @medBo 基本上,想想你什么时候运行rails server。当您正常执行此操作时,您的计算机将一个执行线程完全放弃给该服务器 - 当该进程在前台运行时,您无法在该终端窗口中启动任何其他内容。 Heroku 同样不允许你启动另一个进程来运行像 Faye 这样的东西,或者做后台作业,除非你付费。
    • 谢谢@varatis,我现在可以理解了:)如果我想要额外的午餐,我应该付多少钱?贵吗?
    • 大约 15 美元/月。查看heroku.com/pricing。与 Linode 或 EC2 等其他服务相比,它并不昂贵。此外,它还为您省去了所有其他设置费用和诸如此类的麻烦。取决于你的时间/金钱权衡是什么。
    【解决方案2】:

    正在进行的工作: 完整的 Facebook 克隆

    https://github.com/rubytastic/im
    

    请贡献代码,待修复但仍然古怪!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多