← 機能一覧に戻る
Pro

WebSocket インスペクター

WebSocket インスペクターは、ページ上のすべての接続において、送受信されるあらゆる WebSocket フレームをキャプチャします。接続のライフサイクル(接続中/オープン/クローズ、終了コード付き)、フレームごとの方向、サイズ、バイナリフラグ、プレビューを表示し、JSON ペイロードを整形して表示します。リアルタイムプロトコルのデバッグにおける DevTools の不足を補う重要なツールです。

WebSocket は、チャットアプリ、ライブダッシュボード、GraphQL サブスクリプション、マルチプレイヤーゲーム、共同編集エディタなどを支えていますが、そのデバッグは苦痛を伴います。Chrome DevTools でも WebSocket フレームを確認できますが、UI が使いにくくフィルタリングも制限されています。WebSocket インスペクターは、よりクリーンで専用のビューを提供します。このツールは、ページコンテキスト内のネイティブ WebSocket コンストラクタにラッパーをインストールするため、すべての `new WebSocket()` がインターセプトされます。各接続は、URL、ステータス(接続中 → オープン → クローズ)、持続時間、切断時の終了コードと共にリストに表示されます。送受信されるすべてのフレームは、タイムスタンプ、方向、サイズ、バイナリフラグ、プレビューと共に記録されます。任意のフレームをクリックすると、JSON の場合は自動的に整形された完全なペイロードが表示されます。方向(送信/受信)、バイナリのみ、または特定の接続でフレームをフィルタリングできます。ラッパーはツールの起動時にインストールされるため、既存の接続を捕捉するにはページをリロードする必要がありますが、新規の接続はツールを開いた瞬間からキャプチャされます。

ライブプレビュー
example.com
WebSocket Inspector ● 2 active connections
Connections
wss://realtime.example.com/chat open · 2m
wss://graphql.example.com/subscriptions open · 8m
All ↑ Sent ↓ Recv ↑ 12 · ↓ 47 · 8.4 KB
14:32:05 {"type":"connection_ack"} 28 B
14:32:05 {"type":"subscribe","id":"1","payload":...} 98 B
14:32:06 {"id":"1","type":"next","payload":{"data":...} 412 B
14:32:07 {"id":"1","type":"next","payload":{"data":...} 398 B
14:32:09 ping 4 B
14:32:09 pong 4 B
14:32:14 BIN [ArrayBuffer 1024 bytes] 1.0 KB
14:32:15 {"id":"1","type":"next","payload":{"data":...} 389 B
主な機能

接続ごとのライフサイクル

すべての WebSocket をステータス(接続中/オープン/クローズ)、URL、持続時間、終了コード、および終了理由と共に表示します。

あらゆるフレームをキャプチャ

送信 (↑) および受信 (↓) の両方のフレームを、タイムスタンプ、サイズ、バイナリフラグ、インラインプレビューと共に表示します。

JSON 整形表示

フレームをクリックすると完全なペイロードが表示されます。JSON 文字列は、可読性を高めるために 2 スペースのインデントで自動整形されます。

方向/バイナリによるフィルタリング

送信のみ、受信のみ、またはバイナリのみにフレームをフィルタリングし、デバッグ対象に集中できます。

接続ごとのフィルタリング

接続をクリックすると、その接続のフレームのみを表示します。複数の WebSocket がアクティブ(例:チャット + 在席確認)な場合に便利です。

新規接続のリロード不要

ツールの起動後に開かれた WebSocket は即座にキャプチャされます。リロードが必要なのは、起動前から存在していた接続を捕捉する場合のみです。

主な活用例

チャットアプリのデバッグ

クライアントとサーバー間で送受信されるメッセージを正確に追跡し、どこの配信で失敗しているかを特定します。

GraphQL サブスクリプションのデバッグ

サブスクリプション操作と着信データプッシュを検査し、ペイロードの不一致やサブスクリプション終了のバグをデバッグします。

プロトコルのリバースエンジニアリング

サードパーティのリアルタイム API のメッセージ構造とタイミングを観察することで、その動作の仕組みを理解します。

ハートビート/Ping-Pong の監視

キープアライブフレームが期待通りの間隔で送信されているか検証します。Ping の欠落が予期せぬ切断の原因である場合があります。

再接続ロジックのデバッグ

終了イベント(コードと理由付き)とその後の新しい接続試行を監視し、リトライ/再接続のバグをデバッグします。

使い方
1

WebSocket インスペクターを開く

DevSuite Pro のドックにある WebSocket アイコンをクリックします。ツールが起動し、接続とフレームを表示するパネルが開きます。

2

ページをリロードする(必要な場合)

ツールの起動前に開かれた WebSocket はキャプチャされません。リロードして再作成させることで、最初からインターセプトされます。

3

接続の表示を確認する

ページが WebSocket を開くと、接続リストに表示され、ステータスがリアルタイムで更新されます。

4

フレームを閲覧する

すべてのフレームがリアルタイムで記録されます。方向でフィルタリングしたり、接続をクリックしてリストを絞り込んだりできます。

5

フレームをクリックして詳細を表示

任意のフレームをクリックして、完全なペイロード(該当する場合は整形された JSON)と、タイムスタンプ、サイズ、バイナリフラグを確認します。

試してみませんか? WebSocket インスペクター?

DevSuite Pro を無料でインストールして、ブラウザで 39 以上の開発者ツールを利用しましょう。

Chrome に追加 Edgeに追加 Firefox に追加