FC2ブログ

リアルタイムWeb

リアルタイムWeb

リアルタイムWebは
サーバーのデータ更新を
リアルタイムに反映するWeb技術

身近なのは
Gmailのオンラインユーザー確認
とか
Facebookのいいねボタンが押されたら即座に通知とか

これらの動作は
Webサーバーが
クライアントのWebブラウザーへ
押し込むので
プッシュといわれる

一番ストレートな手法は
ボーリング

これはjava scriptで
クライアントから
サーバーに定期的にリクエストを送る
ただし、速度はミリ秒単位

これで、サーバー側で何か状態が
変化しているなら
それに応じた処理をする

欠点は
サーバーの状態が変わらないと
リクエストは無駄になるし
ミリ秒単位でずっとアクセスするから
アクセス数が非常に多くなる

このアクセス数大量の問題を解決するため
Cometが編み出された

こっちは
クライアントからのリクエストを受け取ったサーバーは
応答を保留したまま
コネクションを張りっぱなしにする

これなら
サーバーの状態が変化しないかぎり
応答を返さない

クライアントの数だけ
接続を維持するから、同時接続数や
コネクションを維持する時間を多めに設定する必要はあるけど
ボーリングよりはいい

以前やった
javaのコネクションプールに近いかもしれない

ちなみに、現在注目なのが
WebSocket

WebSocketは
サーバーとクライアントで
効率的な双方向通信をする

これは
HTTPを使わず
サーバーとブラウザーで
専用通信路を使うやり方

これら3つのやり方ができるのが
Node.js

Socket.IOパッケージ

なぜ3種類かというと
WebSocketに対応していないブラウザーもあるから
スポンサーサイト



コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック