- @ThothChildren
- 2018.6.4
- PV 84
Webサーバからユーザに定期送信したい
ー 概要 ー
Webサーバからユーザに通知やイベントをこっそりと送りたいことがあります.それらの機能はServer Sent Event, Comet, WebSocketによって実現することができます.
この章を学ぶ前に必要な知識
条件
- WebサーバとWebブラウザが通信できる
効果
- Webサーバからユーザに通知を送る
ポイント
- 複数の手法があり、リアルタイム性が必要ならWebSocket、そうでないなら他
- 他の技術として,Sever Sent Event, Comet等がある
- WebSocketはHTTP通信でなく、他はHTTP通信がベース(なのでHTTP通信を前提としているネットワークに適している)
解 説
Webサーバからユーザに定期的にイベントの情報やリアルタイムな作業の変更データなどを送信したいことがあります.
そのようなことを実現する方法として主に以下の3つの内容があります.
・Comet
HTTP通信をベースにしている.サーバからレスポンスがあったら、直ぐにまた要求を返す形で作られている.
・Server Sent Event
HTTP通信をベースにしている.Cometよりもリアルタイム性を持ち、無駄な通信が減っている.サーバからの通信のみ.一部のブラウザで非対応.
・WebSocket
HTTP通信をベースにしておらず、独自.常にサーバとコネクションを維持している.高いリアルタイム性を必要としないなら不要.双方に通信ができるのが特徴.現在出ている主なブラウザは全て対応.
| Webサーバからユーザに定期送信したい |
結局この3つの中ではどれを使うべきかとなると、
高いリアルタイム性と双方向通信が必要なければ⇒Server Sent Event
必要であれば⇒WebSocket
WebSocketは実装が若干煩雑になってしまうこともあるため、特に強い要望がなければServer Sent Eventを用いればよいはず. | 3つの手法のどれを使うべきか |
この章を学んで新たに学べる
Comments