コンテンツにスキップ

WebSocket

ツリー内で右クリック ▸ 追加 ▸ WebSocket リクエスト

Restorm の WebSocket タイプは、プロトコルフィールドで選択できる 3 つの近縁プロトコルを扱います。 websocket(生)、socketiomqtt です。 このページでは生の WebSocket を取り上げます。

サーバーに接続した WebSocket タブ:送信したフレームは右寄せ、受信したフレームは左寄せで表示されています

フィールド役割
URLws:// または wss://
メッセージ送信するペイロード
ヘッダー接続開始リクエスト(ハンドシェイク)のヘッダー

アクションボタンで接続を開きます。レスポンスパネルには、フレームが届いた順にタイムスタンプ付きで表示されます。 同じボタンで接続を閉じられます。

3 つのアクションを組み合わせて使います。

  • WebSocket 接続 — 接続を開き、名前を付けます。出力は 2 つあります。 connected(1 回だけのシグナル)と message(受信したフレームごとに 1 回発行)です。
  • WebSocket 送信 — 名前付きの接続にペイロードを送信します。
  • WebSocket 接続を閉じる — 接続を終了します。

この分割があるおかげで、「接続し、HTTP でコマンドを送り、そのあと WebSocket の通知が届くことを確認する」という流れを 1 つのグラフで表現できます。 接続とストリーミングを参照してください。

Restorm は WebSocket サーバーをホストできます。 同じポートの他のサーバーとソケットを共有するため、HTTP のモックサーバーと WebSocket サーバーが :8080 で一緒に待ち受けられます。通常のリクエストは HTTP ルートへ、 アップグレード要求(upgrade)は WebSocket サーバーへ振り分けられます。 WebSocket、Socket.IO、MQTT をシミュレートするを参照してください。

Socket.IO と MQTT と共通の 15 のターゲットがあります。 ブラウザーの WebSocket、ws(Node.js)、TypeScript、Socket.IO Client、MQTT.js、 Python(websockets、paho-mqtt)、Go(gorilla/websocket)、C#(ClientWebSocket)、 Java(java-websocket)、Ruby、Rust(tokio-tungstenite)、Swift(URLSessionWebSocketTask)、 Kotlin(OkHttp)。