WebSocketプロトコルとは?

WebSocketは、標準化されたインターネットプロトコル(RFC 6455)であり、単一のTCP接続を介してフルデュプレックスの永続的な通信チャネルを提供します。クライアントがすべての交換を開始する必要があるリクエスト–レスポンスモデルに従うHTTPとは異なり、WebSocketは接続確立後、クライアントとサーバーの両方がいつでもメッセージを送信できます。接続はHTTPアップグレードリクエストとして開始され、その後WebSocketフレーミングプロトコルに切り替わり、どちらかが明示的に閉じるまでソケットを開いたままにします。

WebSocketは、低遅延のリアルタイム更新が必要なアプリケーションで広く使用されています。チャットアプリケーション、ライブダッシュボード、マルチプレイヤーゲーム、協調編集ツール、金融データフィードなどです。

ツールの説明

このツールは、ブラウザ内で完全に動作するインタラクティブなWebSocketクライアントを提供します。ws://またはwss:// URLを使用してWebSocketサーバーに接続し、テキストまたはJSONメッセージを作成して送信し、タイムスタンプ付きログにサーバーの応答を表示します。サーバーの動作をテストし、メッセージ形式をデバッグし、コードを書かずにWebSocket APIを探索するのに便利です。

機能

  • テキストおよびJSONモード — メッセージをプレーンテキストとして作成するか、構文ハイライトとペイロード検証を備えたJSONモードに切り替えて送信します。
  • タイムスタンプ付きメッセージログ — 受信したすべてのメッセージ、接続イベント、エラーは発生時刻とともに記録され、イベントのシーケンスを簡単に追跡できます。
  • プリセットおよびカスタムサーバー — 組み込みエコーサーバーにすばやく接続して即座にテストするか、カスタムWebSocket URLを入力して再利用のために保存します。

オプションの説明

サーバーURLws://(暗号化なし)またはwss://(TLS暗号化)WebSocket URL。例:wss://echo.example.com/ws。URLはWebSocketプロトコルを使用するエンドポイントを指す必要があります。

準備状態 — 出力領域に表示され、現在の接続状態を反映します。CONNECTING(ハンドシェイク進行中)、OPEN(接続済みで準備完了)、CLOSING(クローズハンドシェイク進行中)、またはCLOSED(接続終了)。

データ型テキストJSONの作成モード間で切り替えます。JSONモードでは、エディターはペイロードを検証し、JSONが不正な形式の場合は構文エラーを表示します。

自動スクロール — 有効にすると、メッセージログは最新のエントリに自動的にスクロールします。

仕組み

このツールは、ターゲットURLを指すネイティブブラウザWebSocketオブジェクトを開きます。HTTPアップグレードハンドシェイクが完了した後、接続はOPEN状態になり、メッセージは両方向に流れることができます。サーバーからのすべてのmessageイベントがキャプチャされ、ログに追加されます。切断をクリックすると、クリーンなクローズハンドシェイクがトリガーされます。

ヒント

  • 組み込みのwss://echo.rapidtoolset.com/wsプリセットを使用して、ブラウザがWebSocket接続を確立できるかどうかを確認します。エコーサーバーは送信したすべてのメッセージを返します。
  • 接続がCONNECTINGのまま無期限に続く場合、ファイアウォールまたはプロキシがWebSocketアップグレードリクエストをブロックしている可能性があります。
  • wss://(WebSocket over TLS)はブラウザの混合コンテンツ制限により、HTTPSページで必須です。プレーンなws://接続はブロックされます。
  • Socket.IOサーバーのテストにはSocket.IOテストクライアントを使用し、SockJSサーバーのテストにはSockJSテストクライアントを使用してください。どちらも異なるサブプロトコルを使用し、このツールと互換性がありません。