我想使用 Rails 建立一个聊天室,我应该使用 juggernaut 2 还是 cramp?

Posted

技术标签:

【中文标题】我想使用 Rails 建立一个聊天室,我应该使用 juggernaut 2 还是 cramp?【英文标题】:I want to build a chat room using Rails, should I use juggernaut 2 or cramp? 【发布时间】:2011-06-17 22:22:06 【问题描述】:

本来我打算用剑圣,但是它和Rails 3不兼容。而且新的剑圣2似乎完全独立于Rails,这不是我想要的。然后我发现 cramp,它看起来很整洁,但仍在开发中。所以我只是想知道我应该使用哪个框架?还是有更好的? 谢谢!

【问题讨论】:

【参考方案1】:

新的 Juggernaut 与 Rails 分离是对的,但这并不意味着您不能将两者结合使用。 Juggernaut 带有一个 Ruby 库。使用 Juggernaut 解决了 Toby 所说的长期连接问题。

关于剑圣的任何问题,请联系我(我是创造者)。

【讨论】:

我刚刚为使用 Juggernaut 的应用添加了实时支持,给我留下了深刻的印象。【参考方案2】:

我已经非常广泛地研究了这些东西的选项,实时聊天有点违背 Rails 的特点。如果你真的想留在 Rails 中,那么 Cramp 可能是最好的选择。我建议你也看看这篇关于 Websockets 和 Rails 的文章:http://www.igvita.com/2009/12/22/ruby-websockets-tcp-for-the-browser/

使用 EventMachine 处理通信意味着即使您仍然在 Rails 之外,您至少在 Ruby 中并且可以共享模型和库。

我在 GitHub 上构建了一个异步 Rails: https://github.com/tobyhede/AsyncRails

这主要基于: https://github.com/igrigorik/async-rails

【讨论】:

【参考方案3】:

嗯 - 你也可以试试 Socky:https://github.com/socky/socky-server-ruby

它是基于 ruby​​ 的,并使用 WebSocket 作为基础并带有 Flash 回退以支持大多数设备。它也是完全基于 ruby​​ 的,所以如果你想试试看吧:)

【讨论】:

以上是关于我想使用 Rails 建立一个聊天室,我应该使用 juggernaut 2 还是 cramp?的主要内容,如果未能解决你的问题,请参考以下文章

建议实施网络聊天的最佳做法

如何将聊天消息存储在数据库中?

如何在Rails中正确使用控制器助手模块,以及如何在这些助手之间建立连接?

在Android中使用UDP和MQTT协议编写聊天编程

在 Rails 上使用 Event Machine Websocket 进行聊天,在开发中运行精简,但在生产中没有

从 Rails 监听 Juggernaut 事件