websocketに夢を見ていました

Posted by dab | 2010年3月1日 月曜日 9:28:26 < コンピュータ >

http://bloga.jp/koma/ws/100images/wspipeling.html
websocketのサンプルを公開されていました。
Chromeの最新版と、Safariのベータ版で動くそうです。

同時コネクション数の違い
DOMの追加で画像ダウンロードを行うと、最大で6個のtcp connectionが張られるようです(chromeの場合:xhrでは最大で3コネクションでした)。同時にコネクションを複数張るというのは、例えるなら、6台のトラックで複数の荷物を手分けして運ぶのと同じですので、それだけ従来のhttpでも早くなります。

というか、
websocket: 道路1つを作り、トラックを6台用意する
xhr: 道路を1つ作り、トラックを1台用意する

だと思います。
ただし、xhrは「道路を3つ(ブラウザ設定により増やせる)まで作れる」ということで、トラック3台と書かれたんだと思いますが。

でまあ、道路の数は良いとして、
xhr: 接続が必要になったら道路を造り、トラック1往復で道路を破棄
websocket: 道路は破棄命令が出るまで何度でも使える
というのが最も大きな違いだと思います。

10回通信が必要になったら、xhrは10回道路を造りますが、websocketは1回で良い。
もちろんこれは大きなメリットですが、
私が思っていたのは、「道路を造り出すのがサーバーから出来る」でした。
つまり、普段はネットワークを接続していないが、
あらかじめサーバーに通知しておけば、「サーバーが必要なタイミングでクライアントに対してネットワーク接続を開始できる」
だと思ってました。

実は、これは出来ないらしい。

cometで言われた最大の欠点の「ネットワークをつなぎっぱなしになる」というのは、
websocketでも行われそうな感じです。
じゃ、毎回接続して、不要になるたびに接続を切ればいいじゃないか、と思えますが、
そうなったら、websocketである必要はなくなります。

相当量のデータを通信する必要があるならwebsocketだと思いますが、
そんなもの、一般のウェブサイトで使うはずもなく、
おそらくJavaScriptゲームでも作らないと、websocketを有効に使えそうな所はないでしょう。

当然、そんな高負荷なサイトは、一般向けホスティングサービスで許されるはずもなく。

でなければ、業務用ですかね。

TrackBack URI : http://home.wi-wi.jp/blog/wp-trackback.php?p=381

Leave a comment

:mrgreen: :neutral: :twisted: :shock: :smile: :???: :cool: :evil: :grin: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: