ruby-on-rails - 服务端推送 Rails

标签 ruby-on-rails ajax chat

我想使用 AJAX 在 rails 中实现一个可扩展的聊天室。我从研究中知道唯一的可扩展性发生在服务器端推送。

我的两个问题是:

1) 在一个相当高效的聊天服务器中,轮询在什么时候变得禁止?
2)我真的不想用剑圣。我对 cometd 的工作原理知之甚少。我想我想知道使用 Javascript(创建客户端服务器/轮询器)和另一种语言(为防火墙后面的客户端提供有效的轮询以及与 CGI 的集成)构建对我来说是否非常困难。
和 3)(是的,共 2 个),我是否以正确的方式去做?

我希望的最简单的答案是量化的“是的,您将 5 行 Javascript 放入客户端,将 20 行 ruby​​ 放入 CGI 脚本,然后就收工了”。

最佳答案

我现在正在尝试做同样的事情。 Juggernaut 运行良好,但不适用于 Rails 3,如果这不是必需的,那么我建议使用它,因为聊天非常容易。
我的项目使用 Rails 3,每 3 秒轮询一次服务器(Campfire 也是 3)。我正在使用 Rails Metal 使轮询速度超快。如果你想使用 Juggernaut,那就太好了,2 行客户端 js,和 1 或 2 行服务器端。否则,开始工作!

关于ruby-on-rails - 服务端推送 Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/440140/

相关文章:

java - 在 mAuth.signInWithEmailAndPassword 方法中通过 Intent 更改 Activity

ios - 当我滚动到当前滚动位置的顶部时,如何重新加载 UITableView? (比如聊天应用)

ruby-on-rails - 是否可以为 to_s 起别名?

javascript - 算法,Automagic Ajax

javascript - 如何响应 ajax 搜索输出来查看 ~laravel

javascript - 将 Chart.js 作为 HTML 发送,然后通过 ajax 渲染

objective-c - Objective C,实现聊天应用程序的最佳方式(套接字)

java - Java 的简单表单处理 API

ruby-on-rails - 如何测试Rails的ETag缓存?

ruby-on-rails - 工厂女孩新手 : How to create new record only if doesn't already exist