IE6が標準にしたがっている点XMLHttpRequestを使うページのテストをしている。1つのページでイベント受信用と送信用で2つ使う。受信用で使うってことはつまり、Cometというわけだが。問題は、Cometのパフォーマンスを見たくて、「新規ウィンドウ」を開くところから始まった。イベントは受信できるのに送信できない。タイミングによっては送信できるけど受信はできない。完全にハングしてプロセスを殺すしか手段がなくなったりもする。試行錯誤してるうちに、どうもインスタンスが同時に2つしか作れないんじゃないかと気づいた。Ajax-Development-Gotchasなんてページが見つかった。IEは長年に渡る標準を無視する伝統を打破してRFC2616に従ったので2インスタンスしか同時に実行しないと書いている。それ以上の作成要求はキューする――これはハングしたように見えることと合致する。2つのページで同時に要求出すとデッドロックするからだ。ことは、予測通りみたいだな。congestion.まあ、標準に従うことは良いことだ。いうことから結論としては、Cometページは1ホストあたり最大2ページ。Ajaxを利用して送信もするなら1ページのみ(ロングポール用とAjax用)、それ以上のページを新規作成されると最悪デッドロックする。closeを送ってくる。Ajaxを多用すると細かなコネクションの生成/廃棄が山となる。Keep-Aliveだけど、サーバでちゃんと意識しないと細切れ返送だけに生成/廃棄がやはり山となる。RFCに上記の制限が必要となった理由のひとつにコネクション生成/廃棄(生成は処理的なオーバーヘッド――まあいろいろ理由はあるけど例えばある種の攻撃回避のための動作とか、廃棄の場合はCLOSE_WAITの期間の利用不可ソケットが問題となったはず)が問題となったのだと思う(ネスケがやみくもにimgを表示するためにサーバーに接続してきたあたり。最近のサーバーは高速だからOKならば、上記のRFCの制限についてもちょっと緩めて欲しいなとも思ったり。追記:『WinInetの設定を変える』。HTTP/1.0の場合は4か......更に追記:試した。4にしたら2ページで動く。危険な作業っぽいからタスク化しとく。開いて読み取ることができません。12:05)これはおもしろいですね。ありがとうございます。<br>もっと見てみたいけどajaxian.comというのが今は落ちてるみたいなのが残念。23:22)今見たらajaxian.comは動いてた。