ロングポーリングやフォーエバーフレームなどのコメットテクニックを使用しています。クロス サブドメインのものに iframe を使用しています。これらの手法を実装しているときに遭遇した 1 つの問題は、ユーザーがページを更新したり別のページに移動したりして新しい要求が発生したときに、comet 接続が古いページから開かれたままになることです。私のサーバー (トルネード) は接続を閉じることはありません。制限された Wireshark 機能から、送信された TCP fin パケットが表示されません。ただし、ブラウザを閉じると、その時点でソケットが閉じられます。
これらの放棄されたオープン接続は、正当な理由もなくサーバー側のメモリを使い果たしています。また、サーバーがオープン ソケットに何らかのメッセージを送信し、IE がエラー メッセージ「解放されたスクリプトからコードを実行できません」を正しく表示すると、問題が発生します。そのため、IE は移動元の古いウィンドウでコードを実行しようとしています。他の人々はこの問題をどのように扱っていますか? どういうわけか接続を閉じるために onbeforeunload を使用する必要がありますか?