jQuery+Strophe を使用して XMPP クライアントを作成しました。すべてうまく機能し (1 対 1、プレゼンス、MUC など)、jQuery プラグインに含まれています。ただし、ページがアンロードされると、同じridで2つの最終リクエストが送信されます。最近、セッション接続の作業を始めたときに問題になりました。
Firebug コンソールの例を次に示します。
ここでは、ログインしてすぐにページを更新しました。最初に表示される投稿は、ログイン後の最初のプレゼンス スタンザです。その要求の後、サーバーへの接続を開いたままにするために、新しい BOSH 要求が開始されました。ページを更新すると、このリクエストは中止されます。これまでのところ、すべてが期待どおりに進んでいます。
ただし、中断された要求の後、strophe はまったく同じ RID を持つ別の要求を送信します。最終的なリクエストは strophe から送信されます (おそらく) 礼儀正しく、問題とは関係ありません。ただし、その応答は、openfire (XMPP サーバー) がアカウントを保護するためにセッションを強制終了したことを示しています。
コードを確認しましたが、自分に代わって行われたリクエストが見つかりません。私は、strophe がこの要求を送信することを確信しています。ただし、最初のプロトタイプにはその問題がなかったので、それは私がしたことから来ているに違いありません (実際、クライアント経由でセッションを閉じるのを忘れたため、管理パネルでセッションを手動で強制終了する必要がよくありました)。
問題のあるコードを投稿する前に確認すべき既知の問題はありますか?