Real Time Web
谷ゼミOB
香取秀柄
Contents
What’s Real Time Web
Web Protocol ~古代から現代~
What’s Real Time Web?
サーバーの情報をリアルタイムで参照できる仕組み
Ancient -古代-
Not Real Time
HTTP通信
リクエストに応じてレスポンス
を返す
Ajax
Old -ちょい前-
Real Time?
ロングポーリング
リクエストを保留状態にしておき、イベント発生後
にレスポンスを返す
Ajax + Comet
Faults of Comet
通信が発生するごとにTCPのハンドシェイク手続きを
再度行う必要があるほか、HTTPコネクションを長時
間占有するためその間同一サーバに接続する他のアプ
リケーションの動作に影響を及ぼす可能性がある
New -最近-
Real Time
双方向通信
サーバー主導でメッセージを
送信できる
Node.js + Websocket
–PythonのWebフレームワーク、Djangoの開発者であるSimon Willisonさん
“A toolkit for writing extremely high performance
non-blocking event driven network servers in
JavaScript.”
「とてもハイパフォーマンスでイベント駆動なネ
ットワークサーバをJavaScriptで書くための一連の
ツール群」
Websocket
サーバとクライアントが一度コネクションを行った後
は、必要な通信を全てそのコネクション上で専用のプ
ロトコルを用いて行う。
Socket.io
「複雑なリアルタイムWeb技術の実装方式を隠蔽し、すべ
てのブラウザ・モバイルデバイスでリアルタイム通信を可
能とすること」を目的に開発されているnode.js用サーバー
側ライブラリとブラウザ用JavaScriptライブラリのセット
です。
今まで紹介してきた各技術(ポーリング、Comet、Web
Socket)に対応しており、いずれも同じSocket.io APIから利
用することが出来ます。
DEMO

Real timeweb