我在一个rails应用程序中使用faye,我遇到了一种非常奇怪的行为,如果faye在所有资产被服务之前到达subscribe (也就是说,在调用$(document).ready()之后,但是当您的浏览器中的旋转器运行时),Faye将以“加载”模式阻塞浏览器(就像在,旋转器永远不会停止)。
我相信我正在使用websockets,而且投票时间不长,尽管我不知道如何确定。我在faye的日志中确实看到了,当启用引用websocket的调试消息时:
2012-06-12 20:16:56 [DEBUG] [Faye::RackAdapter] Received via WebSocket[hybi-13]: [{"channel":"/meta/connect","clientId":"7w5vwypdaudnp9o64qwsb13om","connectionType":"websocket","id":"6s"}]浏览器连接到正在运行的独立thin服务器。
require 'faye'
require 'bundler/setup'
Bundler.require(:faye)
bayeux = Faye::RackAdapter.new(:mount => '/faye', :timeout => 25)
bayeux.listen(9292)我使用的命令是
exec bundle exec rackup faye.ru -s thin -E production我在跑faye 0.8
* faye (0.8.2)
* faye-websocket (0.4.5)

5分钟后,我简单地使用[Esc]和那些出现的文件,faye.js是Faye提供的脚本,看起来每个文件似乎都对应于每个subscribe调用。
有趣的是,在这5个文件之后,有5个调用块,每1分钟开始。

任何帮助,这将是非常感谢!
发布于 2012-06-15 21:11:34
这是一个占位符的答案,以防其他人遇到类似的情况。
我发现我在两个不同的地方使用Faye.Client,因此正在设置到faye服务器的两个连接,这是faye不支持的(因为它不需要)。移除另一个faye客户端的帮助,我仍然看到了一些奇怪的行为,但这肯定改善了一些事情。
https://stackoverflow.com/questions/11004597
复制相似问题