1

私は、長いポーリング手法を使用して残りのサーバーからプッシュ型の更新を取得する Web アプリケーションに取り組んでいます。

120 秒のタイムアウトで xhr GET 要求を実行する関数を実行する setTimeout() を実行します。また、サーバーに 60 秒の特別な「Accept-Wait」ヘッダーを送信します。このヘッダーは、クライアントに対して 200 でデータなしで応答するタイミングをサーバーに通知します。その後、クライアントはこの setTimeout を繰り返します。これは、クライアントがサーバーに「ログイン」している間ずっと続きます。

Chromeを使用しているユーザーがいます(彼はChromeしか使用できないため、他の誰もこの問題を再現できないため、他のブラウザーで再現できるかどうかは確認していません)。最小化すると、GETリクエストがタイムアウトし始めます。これは、サーバーがダウンしているように私の longpoller に見えます。

残りのサーバーでデバッグを有効にし、このユーザーから 2 分間何もないことを確認しました (GET 要求がブラウザーから出ていないことを示しているようです)。また、Chrome ターミナル (F12) の [ネットワーク] タブで、リクエストが 2 分で「キャンセル」され、タイムアウトになっていることを確認しました。この問題は、ネットワークの問題を除外すると思われる「localhost」を使用するときにも再現されます。

Chrome がこのユーザーの http トラフィックを許可しない理由について、Chrome に関する詳細情報を取得するにはどうすればよいですか?

ありがとう

4

1 に答える 1

0

この問題が Google Chrome でのみ発生する場合は、タブが破棄されている可能性があります。フラグを無効にすることで回避できます。アドレス バーに次の URL を入力して、有効になっているかどうかを確認してください。

chrome://flags/#automatic-tab-discarding
于 2016-08-11T14:36:46.230 に答える