WebSocket テスト

WebSocket エンドポイントに接続し、テキストメッセージを送信して、タイムスタンプ付きで応答を表示します。ブラウザから直接サービスをテストし、完了したら切断します。

ブラウザーから WebSocket エンドポイントをテストする手順

ws:// または wss:// のアドレスを入力して「接続」を押すと、下のログに各段階が表示されます。開いたアドレス、接続が確立した時点、送信した内容、サーバーから返ってきたフレームです。接続はお使いの端末からそのエンドポイントへ直接行われ、kivtools.com は表示しているページにすぎません。

「例」ボタンは wss://echo.websocket.org を入力します。これは公開のエコーサービスで、送ったメッセージをそのまま返すため、自分のサーバーなしで往復を確認できます。

  1. エンドポイントのアドレスを貼り付けます。ws:// または wss:// で始まる必要があります。http:// や https:// は自動的に変換され、スキームのないアドレスはこのページを基準に黙って解決されるのではなく、メッセージ付きで拒否されます。
  2. 「接続」を押します。このページは HTTPS で配信されているため、暗号化されない ws:// は localhost と 127.0.0.1 にのみ許可されます。リモートサーバーには wss:// が必要です。ハンドシェイクに失敗した場合はクローズコードが表示されます。
  3. メッセージを入力して「メッセージを送信」を押すか、欄内で Enter キーを押します。タイムスタンプで送信時刻と応答時刻が分かります。「切断」はソケットを閉じ、「クリア」は接続を維持したままアドレス・メッセージ・ログを消去します。

ログの読み方

クローズコードと接続拒否

正常な終了はコード 1000 です。コード 1006 はハンドシェイクが完了しなかったことを意味します。ポートが閉じている、ホストに到達できない、TLS 証明書が拒否された、サーバーがブラウザーのオリジンを受け付けない、といった原因が考えられます。ログには空のエラー行ではなく、このコードが表示されます。

ブラウザーはハンドシェイク失敗の理由を公開しないため、ページが取得できる最も確実な情報はこのコードです。手元のサーバーの場合は、入力したポートで実際に待ち受けているか確認してください。

オリジン・wss://・localhost

WebSocket 接続に CORS は適用されませんが、サーバーは Origin ヘッダーを確認できます。このページは https://kivtools.com を送信します。オリジンを限定しているサーバーはハンドシェイクを拒否し、ブラウザーはコード 1006 を報告します。

ページ自体が HTTPS のため、暗号化されない ws:// は localhost と 127.0.0.1 にのみ使用できます。それ以外は wss:// が必要で、そうでなければブラウザーが接続を開始前にブロックし、ページにもその旨が表示されます。

ログに表示される内容

フレームはエスケープされたテキストとして表示されます。サーバーが HTML を返してもタグはそのまま文字として表示され、ページ内に描画されることはありません。送信したメッセージも同様です。

ログは実行中の記録であり、端末ではありません。表示されるのはテキストフレームのみで、再読み込みで消え、「クリア」でも消去されます。

最近使ったツール: