ポーリング
- サーバー側に変更等のイベントがあったか、AjaxによるHTTPリクエストを繰り返し行って確認する方法
- ネットワーク帯域とサーバリソースを無駄に消費
Comet
ロングポーリング
- クライアントからのリクエストに対して、サーバーはレスポンスを保留して、コネクションを維持
- コネクションを維持することによるメモリ使用量の増加
ストリーミング
- サーバー側からクライアントへレスポンスを返し続ける
- クライアント側でレスポンスを受信しながら内容を解析して適切に処理する必要
Web Socket
- JavaScriptからサーバーとの双方向通信を行う」ためのプロトコル
Socket.io
- node.js用サーバー側ライブラリとブラウザ用JavaScriptライブラリのセット
- 同じSocket.io APIからポーリング、Comet、Web Socketを利用可能
ActionCable
- WebSocketとRailsのその他の部分をシームレスに統合するためのもの