我在 Rails 应用程序中使用 Faye,我遇到了一个非常奇怪的行为,如果 faye 在提供subscribe
所有资产之前到达(即,在$(document).ready()
调用之后但在浏览器中的微调器运行时),那么 faye 将阻止浏览器处于“加载”模式(例如,微调器永远不会停止)。
我相信我正在使用 websockets 而不是长轮询,尽管我不确定如何确定。当启用引用 websocket 的调试消息时,我确实在 faye 的日志中看到:
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 个调用块,每分钟开始一次。
对此的任何帮助将不胜感激!