WebSocket とは
ブラウザ-サーバー間の双方向接続
WebSocket は、クライアントとサーバー間でリアルタイムの永続的な双方向接続を提供する通信プロトコルです。
仕組み
- ハンドシェイク — 初期HTTPハンドシェイク
- アップグレード — WebSocketプロトコルへの切り替え
- 全二重 — 双方向同時送信
- 永続的接続 — 再接続不要
HTTPに対する利点
- 即時メッセージ配信
- 最小限のオーバーヘッド
- ポーリング不要
- 低レイテンシー
用途
- チャットとメッセンジャー
- オンラインゲーム
- 株価情報
- 共同編集
- IoTデバイス
技術
- Socket.IO (Node.js)
- ws (Node.jsネイティブ)
- SignalR (.NET)
- Django Channels
例
const ws = new WebSocket('wss://api.example.com');
ws.onmessage = (event) => {
console.log(event.data);
};
ws.send('Hello Server!');