我在铁路应用程序中使用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个电话的块。
非常感谢任何帮助!
答案 0 :(得分:2)
这是一种占位符答案,以防其他人遇到类似的事情。
我发现我在两个不同的地方使用了一个Faye.Client,因此有两个连接正在设置给faye服务器,这是faye不支持的东西(因为它没有&#39 ; t需要)。删除其他faye客户端有帮助,我有时仍会看到奇怪的行为,但这确实改善了一点点。