ウェブソケット
WebSocketとは何ですか?
WebSocket は開いたままの双方向通信チャネルであるため、この名前が付けられました。 WebSocket 接続は、クライアントが HTTP リクエストをサーバーに送信するハンドシェイクというプロセスによって開始され、セッションが確立されます。
ハンドシェイクの後、クライアントとサーバーの両方が任意のデータを送信でき、クライアントが開始したメッセージは、クライアントにメッセージを送り返すことでサーバーによって確認されます。この全二重通信チャネルにより、HTTP Cookie を使用する場合、クライアントとサーバー間の制御フローは双方向メッセージングから一方向メッセージングに戻ります。
重要な部分は、ブラウザとサーバー間のオープンな接続であり、データを双方向に送信するということです。
WebSocket は、チャット ルーム、ポーカー ゲーム、株価表示ツール、マルチプレイヤー ゲーム、ビデオ ストリーミング サービスなど、さまざまなアプリケーションに使用できます。必要なのは、ファイアウォールでポートを開き、それを使用するように Web サーバーを構成することだけです。
ブラウザとサーバーの間では大量のデータが転送されるため、接続を開いて作業が完了するまで開いたままにしておく方が簡単な場合もあります。これは、大量のデータや頻繁に変更されるデータを扱う場合に特に当てはまります。 HTML5 WebSocket API を使用すると、まさにそれが可能になります。
WebSocket を利用すると、待ち時間が短縮され、Web アプリケーションがより効率的に機能できるようになり、ユーザー エクスペリエンスが向上します。
WebSocket のさまざまな使用例がどのようにユーザー エクスペリエンスを向上させるかを次に示します。
リアルタイム Web アプリケーション: WebSocket は、単一の TCP ソケットを介した双方向通信チャネルです。 HTTP とは異なり、WebSocket 接続は無期限に維持できます。これらは、データを失わず、またはクライアントが追加のデータを要求するのを待つことなく、大量のデータをサーバーからクライアントに送信する必要がある、クライアントとサーバー間の双方向通信に使用することを目的としています。
取引 Web サイトは WebSocket チャネルに依存しているため、ユーザーは常に変動を認識します。これらの Web サイトのバックエンド サーバーは、同じオープン チャネルでクライアント エンドにデータをプッシュし続けます。
ゲーム アプリケーション: WebSocket の重要な使用例の 1 つはゲーム アプリケーションであり、WebSocket を使用してリアルタイム シナリオを実現できます。クライアントとサーバー間の永続的な接続を維持します。これにより、ユーザー インターフェイスを更新することなく、リアルタイムのデータ送信が可能になります。 UI はデータを受信するために別の接続を行う必要はありません。
チャット アプリケーション: ユーザー間でメッセージをブロードキャストする必要がある場合、WebSocket は理想的なプロトコルです。チャット アプリケーションは、WebSocket を使用して接続を確立し、同じ開いている接続を再利用してメッセージを送信します。