问题标签 [faye]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
faye - Faye 在生产中不发送消息
我通过 PrivatePub gem 使用 faye 向我的客户发布消息。它在我的机器上的开发中运行良好,但在我的生产服务器上,消息永远不会发送给客户端。
我很确定 faye 设置正确,因为它从服务器请求 faye.js 没有问题,并且它没有在客户端记录任何错误。我也没有在服务器上看到任何错误,所以我不知道为什么它不向客户端发送消息。
javascript - 由于传输层 /meta/connect 调用,使用 faye/nodejs 在 firefox/chrome 上长时间加载初始页面
我对 faye/nodejs 有一个奇怪的问题,由于 /meta/connect 调用,页面似乎在初始页面加载时加载了很长时间。此页面加载似乎持续了 45 秒(这是服务器上设置的超时值)
以下是通话详情:
有问题的电话如下:
参数:jsonp:__jsonp3__ 消息:[{"channel":"/meta/connect","clientId":"0c3gocq1rwi3sl0dskn4u00e8wj7","connectionType":"callback-polling","id":"5"}]
响应:__jsonp3__([{"id":"5","clientId":"0c3gocq1rwi3sl0dskn4u00e8wj7","channel":"/meta/connect","successful":true,"advice":{"reconnect":"retry ","interval":0,"timeout":45000}}]);
我在没有 SSL 的情况下尝试过,但问题仍然存在,所以它似乎与此无关。
该页面在此期间完全响应,但这对我的客户来说显然是一个问题,因为他们只看到 ff 或 chrome 的加载栏,他们最终等待整整 45 秒让它停止,然后再继续。感谢您在调试或缓解此问题方面的任何帮助;可能使初始连接调用异步,因此它不会在初始页面加载时触发?
我还在 faye google 组上发帖:https ://groups.google.com/forum/?fromgroups#!topic/faye-users/xZI4adt3DpA%5B1-25%5D
但是我还没有得到回复,虽然看起来我不是唯一一个有这个问题的人。
任何帮助表示赞赏。
谢谢!
凯文
ruby-on-rails - Faye 如何计算最大客户数
我正在使用 faye 和 ruby 服务器进行发布-订阅消息传递,它运行良好,但我有一些疑问:
- 我如何估计可以同时接收消息的最大客户端数?它应该与我的消息大小有关,但我现在不知道如何衡量这个值。我认为了解这一点非常重要,因为我想防止将来出现任何形式的延迟。
- 如何模拟同时连接的 N 个客户端?可以通过水豚完成还是有更好的方法?
谢谢
ruby-on-rails - 与 nginx+Passenger 分开运行 Thin Faye 实例
我有几个由 Passenger+nginx 1.2 运行的 Rails 应用程序。
我需要向其中一个添加一些 Comet 功能,但我不想添加任何功能tcp_module
并重建 nginx,我只需要在我的应用程序http://faye.myapp.com:9292的子域上运行单独的 Faye+Thin 实例(在同一台 Ubuntu 机器上)和直接监听客户端。
这个问题有优雅的解决方案吗?
ruby-on-rails - Faye中如何实现业务逻辑?导轨
我在瘦服务器上有机架 Faye 应用程序,我在每个 faye 客户端握手/订阅/断开连接上都有一些逻辑。
这个逻辑需要在数据库中存储数据,进行一些计算并将消息发布回一些通道。
应该在哪里以及如何实现这些东西以避免阻塞主 Faye 线程与扩展?
javascript - Express.js 应用程序最大化 CPU
我已经构建了一个 Express.js 应用程序,在带有 Intel Xeon CPU E5540 2.53Ghz 的 Ubuntu 上运行。
该应用程序使用 MongoDB 进行会话存储 ( express-session-mongo
),使用 EJS 进行视图渲染,使用 MySQL 进行数据存储,使用Faye进行内部消息传递。所有静态文件都由 Apache 在不同的端口上提供服务。
这是一个具有大量长轮询的实时应用程序,Faye 在这方面有很大帮助。它需要扩展到至少 500 个并发用户,每个用户将监听两个不同的长轮询连接。
但是,该应用程序将 CPU 最大化为大约 80-100 个用户,这会导致500
错误。
关于可能是什么问题的任何想法或关于如何调试和解决此类问题的任何一般性建议?
ruby - 给定客户 ID,我如何获得 Faye 客户?
Faye 允许您监控各种事件,例如handshake
或subscribe
。这些回调块只提供client_id
值而不是客户端本身。例如:
给定的情况下,我如何访问客户端client_id
?或者我如何在握手中访问更多信息,例如请求标头中提供的 cookie(如果该信息甚至可用)?
ruby-on-rails - 未找到生产 faye.js 中的 Rails 3.2 PrivatePub
我遇到了一个名为 private_pub 的 gem,它使用了 faye gem 和瘦服务器。
这一切在开发中都可以正常工作,但是在服务器上我可以让一切正常启动,但是在我使用 private_pub 的页面上,我在 js 控制台(chrome)中收到一个错误,上面写着
当我在浏览器中查看http://myapp.example.com/faye.js(网址已更改)时,我得到一个空屏幕,在开发中它显示所有 js 代码。我还可以在 chrome 的开发人员工具中看到我可以在开发中看到类型是“待定”,在生产中我看到它作为“text/html”传递
我用谷歌搜索和谷歌搜索,并没有想出任何东西。谁能指出我正确的方向。
是否有一些特殊的 mime 类型在这里传递,我需要配置 apache 或 rails 来接受?
先感谢您