WebSockets はユーザのブラウザとサーバ間でインタラクティブな通信セッションを開くことを可能にする先進技術です。この API でメッセージをサーバに送ることが出来、応答のためにサーバーをポーリングすることなく、イベントドリブンなレスポンスを受信できます。
インターフェイス
WebSocket
- WebSocket サーバに接続し、その接続を通じてデータを送受信するための主要インターフェイス
CloseEvent
- 接続が閉じた時に WebSocket オブジェクトによって送信されるイベント
MessageEvent
- サーバからメッセージを受信した時に WebSocket オブジェクトによって送信されるイベント
ツール
- Socket.IO : Node.js 用の強力なクロスプラットフォーム WebSocket API
- WebSocket-Node: Node.js 用の WebSocket server API 実装
- Total.js: Node.js 用の ウェブアプリケーションフレームワーク(使用例: WebSocket chat)
- Faye: Node.js 用の WebSocket(両方向接続)と EventSource(片方向接続)サーバおよびクライアント
- さらなるフレームワークとライブラリのリストへのリンク(リンク切れ)
関連トピック
関連情報
ブラウザ実装状況
機能 | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Version -76 のサポート | 6 | 4.0 (2.0) | 未サポート | 11.00 (disabled) | 5.0.1 |
Protocol version 7 のサポート | 未サポート | 6.0 (6.0) Moz |
未サポート | 未サポート | 未サポート |
Protocol version 10 のサポート | 14 | 7.0 (7.0) Moz |
HTML5 Labs | ? | ? |
Standard - RFC 6455 のサポート | 16 | 11.0 (11.0) | 10 | 12.10 | 6.0 |
Worker での使用 | (有) | 37.0 (37.0) | ? | ? | ? |
機能 | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Version -76 のサポート | ? | ? | ? | ? | ? |
Protocol version 7 のサポート | ? | ? | ? | ? | ? |
Protocol version 8 のサポート (IETF draft 10) | ? | 7.0 (7.0) | ? | ? | ? |
Standard - RFC 6455 のサポート | 16 (Chrome) | 11.0 (11.0) | ? | 12.10 | 6.0 |
Worker での使用 | (有) | 37.0 (37.0) | ? | ? | ? |
Gecko に関する注記
Firefox の WebSockets サポートは、進展する WebSocket 仕様への追従を継続しています。Firefox 6 は基礎的なプロトコルのバージョン 7 を実装し、また Firefox 7 はバージョン 8 (IETF ドラフト 10 で定義) を実装しました。モバイル版では、モバイル Firefox 7.0 で WebSocket がサポートされました。
Gecko 6.0
Gecko 6.0 (Firefox 6.0 / Thunderbird 6.0 / SeaMonkey 2.3) より前のバージョンでは誤って WebSocket
オブジェクトが存在しており、一部のサイトが WebSocket
サービスは接頭辞がつかないものであると考えていました。このオブジェクトは MozWebSocket
に改名されました。
Gecko 7.0
Gecko 7.0 (Firefox 7.0 / Thunderbird 7.0 / SeaMonkey 2.4) より設定項目 network.websocket.max-connections
が、一度に開くことができる WebSocket 接続の最大数を決めるために使用されます。この既定値は 200 です。
Gecko 8.0
Gecko 8.0 (Firefox 8.0 / Thunderbird 8.0 / SeaMonkey 2.5) より WebSocket プロトコルの deflate-stream 拡張が、ドラフト仕様で非推奨とされたため無効になりました。これは一部のサイトとの非互換問題を解決します。
Gecko 11.0
Gecko 11.0 より前は、受信および送信メッセージのサイズを 16MB に制限していました。このサイズを 2GB に引き上げることができます。ただし、(特にモバイルデバイスで) メモリ容量の制限によって、これはあくまで理論上の上限となり、実用上の上限とはなりません。実際、十分なメモリを持たないデバイスでは、大きなサイズのメッセージの転送が失敗します。
加えて、バイナリデータ向けに ArrayBuffer の送信と受信のサポートを実装しました。
Gecko 11.0 より、WebSocket API に接頭辞はつきません。