1

RailsアプリケーションでFayeを使用していますが、非常に奇妙な動作が発生しています。subscribeすべてのアセットが提供される前に(つまり、$(document).ready()呼び出された後、ブラウザーのスピナーが実行されている間に) Fayeが到達すると、Fayeはブラウザが「読み込み中」モードになっている(スピナーが停止することはありません)。

確実にする方法はわかりませんが、私はWebSocketを使用しており、長いポーリングは行っていないと思います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

私はフェイ0.8を実行しています

* faye (0.8.2)
* faye-websocket (0.4.5)

これは私がクロムで見るものです

5分後、私は単純[Esc]にそれらが表示されます。これfaye.jsはFayeが提供するスクリプトであり、これらのファイルのそれぞれが各subscribe呼び出しに対応しているようです。

興味深いことに、これらの5つのファイルの後に、1分ごとに開始する5つの呼び出しのブロックがあります。

ここに画像の説明を入力してください

これに関する助けをいただければ幸いです。

4

1 に答える 1

2

他の誰かが似たようなものに遭遇した場合に備えて、これは一種のプレースホルダーの答えです。

私は2つの異なる場所でFaye.Clientを使用していたことがわかりました。したがって、2つの接続がfayeサーバーにセットアップされていました。これは、fayeがサポートしていないものです(必要がないため)。他のフェイクライアントを削除することは助けになりました、私はまだ時々奇妙な振る舞いを見ています、しかしそれは確かに物事を少し改善しました。

于 2012-06-15T21:11:34.203 に答える