服务器端 Push in Rails

2024-02-13

我想使用 AJAX 在 Rails 中实现一个可扩展的聊天室。我从研究中得知,唯一的可扩展性是通过服务器端推送实现的。

我的两个问题是:

1)在一个相当高效的聊天服务器中,什么时候轮询会变得禁止? 2)我真的不想使用Juggernaut。我不太了解彗星是如何工作的。我想我想知道使用 Javascript(创建客户端服务器/轮询器)和另一种语言(为防火墙后面的客户端提供有效的轮询,并集成到 CGI 中)对我来说是否会非常困难。 3)(是的,满分 2),我是否以正确的方式处理这件事?

我希望得到的最简单的答案是量化的“是的,你将 5 行 Javascript 放入客户端,将 20 行 ruby​​ 放入 CGI 脚本,然后就到此为止”。


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务器端 Push in Rails 的相关文章

随机推荐

  • 将附加参数传递给 python 回调对象 (win32com.client.dispatchWithEvents)

    我正在使用 win32com 包与 Windows 应用程序交互 应用程序并不重要 简而言之 我想要实现的是订阅更新的表 我已经成功实现了一个回调 该回调接收表更新时返回的数据 但我现在需要的是对收到的数据采取行动 如果我可以使用附加参数实
  • VHDL - iSIM 输出未初始化,不改变状态

    您好 我是一位 Xilinx 新用户 在如何在测试台中编写激励 模拟方面遇到了麻烦 我的输出 Kd 没有给我任何合理的值 并在移动并始终保持在 1 之前的前几个时钟周期给出 u 不确定我是否写了正确的刺激 但希望有人能帮助我 我的VHDL代
  • 空字符串对于 React Link 来说是有效值吗?

    我正在写一个React js http React 20 E2 80 93 20A 20JavaScript 20library 20for 20building 20user 20interfaces 20 20https reactjs
  • 如何在Python中使用将双反斜杠替换为单反斜杠来替换字节字符串

    我想将 Python 中字节字符串的双反斜杠替换为单反斜杠 例如 有一个字节字符串 word b Z xa6 x97 x86j2 x08q r xca xe6m 我需要这个字节字符串 word b Z xa6 x97 x86j2 x08q
  • WPF 类和相应的视觉样式继承

    我已经看过 但显然在与类和样式相关时无法获得正确的语法 我有具有特定行为的控件 我派生出一些来添加额外的行为 现在 我想要一个与每个版本相对应的样式 在最简单的示例中 我将忽略这些类 因为我知道样式与视觉影响具体相关 而不是与功能影响相关
  • 添加 nuget 包源的脚本方式

    我们想要启动一个公司 nuget 包存储库 有没有办法通过命令行添加包源 以便我们可以通过设置或其他方式配置新的包源 我们基本上不想去 工具 选项 包管理器 包源 加号按钮 添加名称和来源 在公司的每台开发人员机器上 包源存储在用户配置文件
  • 如何获取 boto3 集合的大小?

    我一直使用的方法是将Collection转换为List并查询长度 s3 boto3 resource s3 bucket s3 Bucket my bucket size len list bucket objects all 然而 这会强
  • 用颜色条调整子图

    I have made the following visualization I am at loss to figure out how to adjust the size of the third subplot according
  • 防止 $anchorScroll 修改 url

    我在用 anchorScroll https docs angularjs org api ng service 24anchorScroll滚动到 html 元素具有 ID 的页面顶部 brand
  • Spring MVC @RequestMapping 继承

    来自 Struts2 我习惯于声明 Namespace超类上的注释 或package info java 并且继承类随后将获取中的值 Namespace其祖先的注释并将其添加到操作的请求路径之前 我现在正在尝试使用 Spring MVC 做
  • 两个几乎相同的批处理脚本之一中存在语法错误:“)”无法在此处进行语法处理

    我正在尝试设置 Jenkins 服务器来自动构建 Unity 因此 我编写了两个 在我看来 基本相同的批处理脚本 这两个脚本均由 Jenkins 通过Execute Windows batch command步骤使用 Command E u
  • chrome.identity.getProfileUserInfo() 返回空 ID [重复]

    这个问题在这里已经有答案了 我不知道这是否只是开发问题 因为我还没有发布我的扩展 getProfileUserInfo 返回 email id 我是否登录 chrome 并不重要 这是我的清单中的权限 permissions activeT
  • 如何在 MVC 中获取站点的基本 url [重复]

    这个问题在这里已经有答案了 我想向用户发送一封电子邮件 他可以在其中单击链接以转移到我的网站 我不想在我的电子邮件模板中对 URL 进行硬编码 我想要这种动态 无论环境如何 它都会发送相关的 url 就像如果我在开发环境中它会发送类似的内容
  • 在 python 中创建漂亮的列输出

    我正在尝试在 python 中创建一个漂亮的列列表 以便与我创建的命令行管理工具一起使用 基本上 我想要一个类似的列表 a b c aaaaaaaaaa b c a bbbbbbbbbb c 变成 a b c aaaaaaaaaa b c
  • 在 iOS 版 Chrome 上拦截 AJAX 请求?

    我通过更改来拦截我网站中的 AJAX 请求XMLHttpRequest prototype open and send方法 这种方法在我测试的所有浏览器中都没有任何问题 然而 当涉及 iOS iPhone 版 Chrome 时 代码有一个最
  • 带有引用元组的结构化绑定引用

    The cppreference 中的结构化绑定案例2 https en cppreference com w cpp language structured binding有点难以理解 基本上 我想澄清这些情况 int x 1 doubl
  • Windows 上的 Git GUI:合并冲突

    我在命令行上能熟练使用 Git 但对于特定项目 我需要向其他人展示如何专门在 GUI 环境中执行操作 我们正在使用 Windows 版 Git 可在https git scm com download win https git scm c
  • HTML onSubmit / onClick 处理函数可以有除事件之外的其他参数吗? [复制]

    这个问题在这里已经有答案了 我面临一些案例onClick or onSubmit功能需要两者event and parameter 我可以在 React 或普通 html 标签中使用它吗 或者 只是使用其他函数做一些副作用 const Cu
  • CSS如何修复元素随页面水平滚动而不是垂直滚动?

    我创建了一个示例来帮助解释 http jsfiddle net 9AUbj 1 http jsfiddle net 9AUbj 1 div Hello World div div div div div 我想要 你好世界 当用户水平滚动时随
  • 服务器端 Push in Rails

    我想使用 AJAX 在 Rails 中实现一个可扩展的聊天室 我从研究中得知 唯一的可扩展性是通过服务器端推送实现的 我的两个问题是 1 在一个相当高效的聊天服务器中 什么时候轮询会变得禁止 2 我真的不想使用Juggernaut 我不太了