私はある種のオンラインマルチユーザーエディタ/ coopインターフェイスに取り組んでいます。これは、1ページのライフタイム中に(数千もの)ajaxリクエストをたくさん実行します。 (安定性の面で「最良」、互換性、トラブルを避ける)Ajax-intensiveページ:毎回同じXMLHttpRequestオブジェクトを再利用するか、新しいものを作成しますか?
1つのXMLHttpRequestオブジェクトを作成し、すべてのHTTPリクエスト
のための新しいのXMLHttpRequestを作成していることを再利用:最高のだろう何
すべてのHTTPリクエストのオブジェクト
XMLHttpRequestオブジェクトの動的な「プール」を管理し、HTTPリクエストを開始するときに新しいものを作成し、既存のオブジェクトがない場合は、 bject「利用可能」としてその最後の要求は私が前のもの等、まだ終わっていない間、私は新しい要求を開始することができる失敗する可能性があり、いくつかの要求を起こし、1はオプションではないと思う
正常に完了したとき
2については、これはメモリリークであると推測されます。または、メモリ/リソースの使用が非常に不愉快になることがあります。または、オブジェクトの要求が完了したら、何らかの方法でオブジェクトを閉じたり削除したりできますか? (ここで/ how?)あるいはJSガベージコレクタはこれを適切に処理しますか?
これまでに3度も試みたことはありませんでしたが、両方の世界の最高のように感じます。それとも不要なようなアプローチですか、あるいは私はまだ潜在的な問題を抱えていませんか?正確にいつ私が要求を終えると仮定することができますか(つまり、オブジェクトは新しい要求に利用可能です)、それはreadyState 4とhttpステータス200を受け取ったときでしょうか? (それ以降、更新やコールバックがこれ以上続くことはありませんか?)
あなたが何千ものリクエストで正しければ、このスクリプトは非常にリソースを使っているので、あなたが使用しようとしているサーバーと使用しているインターネットが何であるか不思議です。 – gabeio
私は残酷な専用サーバーを用意しています。しかし、何千ものリクエストは、数時間の間に実行されることが期待されています。毎秒のリクエストとは異なります。もっと毎分のようなものですが、何時間もそれを続けているかもしれません。 –
ああ、JavaScriptがうまくいくかどうかは、速くても速いです。つまり、毎秒のリクエストです。フラッシュまたはJavaアプレットを使用することをお勧めします。 – gabeio