Socket.IO テストクライアント
Socket.IO サーバーに接続してイベントを発行し、受信メッセージを検査します。
入力
出力
Readme
Socket.IOとは?
Socket.IOはJavaScriptライブラリで、ウェブクライアントとサーバー間のリアルタイム双方向通信を実現します。WebSocketをプライマリトランスポートとして使用しますが、WebSocketが利用できない場合は自動的にHTTPロングポーリングにフォールバックするため、異なるネットワーク環境やプロキシ全体でより信頼性の高い接続が可能になります。Socket.IOは生のトランスポート上に独自のプロトコルレイヤーを追加します。これにはカスタムハンドシェイク、ハートビート、自動再接続、名前付きイベントシステムが含まれるため、プレーンなWebSocketサーバーと互換性がありません。
Socket.IOの主な機能はイベントモデルです。生のメッセージを送信する代わりに、クライアントとサーバーは名前付きイベント(例:chat message、user joined)を発行およびリッスンするため、アプリケーションロジックがより清潔で整理しやすくなります。
ツール説明
このツールはブラウザ内で完全に動作するインタラクティブなSocket.IOクライアントを提供します。任意のSocket.IOサーバーに接続し、名前付きイベントを選択し、テキストまたはJSONメッセージを作成して送信し、受信イベントとサーバーレスポンスがタイムスタンプ付きログに表示されるのを確認できます。また、アクティブなトランスポートレイヤー(WebSocketまたはポーリング)を表示するため、期待されたアップグレードが発生したことを確認できます。
機能
- 名前付きイベントサポート — 送信前に任意のイベント名を指定して、メッセージがサーバー上の正しいリスナーに到達するようにします。
- トランスポート可視化 — 接続がWebSocketまたはHTTPポーリングトランスポートのどちらを使用しているかを表示し、Socket.IOアップグレードハンドシェイク完了後に自動更新します。
- テキストおよびJSONモード — プレーンテキストでペイロードを作成するか、JSONモードに切り替えて送信前に構文ハイライトと検証を行います。
オプション説明
サーバーURL — Socket.IOサーバーの完全なHTTP(S) URL(例:https://example.com/socketio)。Socket.IOサーバーは通常/socket.io/のようなパスでリッスンします。クライアントはハンドシェイクパスを自動的に処理します。
イベント名 — メッセージ送信時に発行するSocket.IOイベントの名前。デフォルトはmessageです。サーバーがリッスンするイベントに合わせて変更します(例:chat、ping、data)。
データ型 — テキストとJSONを切り替えます。JSONモードではペイロードが検証され、解析されたオブジェクトとして送信されます。テキストモードではプレーンな文字列として送信されます。
自動スクロール — 有効にすると、メッセージログは新しいメッセージが到着すると自動的に最新のエントリにスクロールします。
動作方法
クライアントは公式Socket.IO JavaScript SDKを使用してターゲットサーバーに接続します。初期HTTPハンドシェイク後、Socket.IOはトランスポートをHTTPポーリングからWebSocketへのアップグレードを試みます。このツールはアクティブなトランスポートを報告し、アップグレードが発生するたびにラベルを更新します。サーバーから受信したすべてのイベント(イベント名に関係なく)がキャプチャされ、タイムスタンプとともにログに表示されます。
ヒント
- 接続は成功しているがメッセージが表示されない場合は、サーバーが接続クライアントに対してイベントを発行していることを確認してください。他のクライアントにのみ発行していないことを確認します。
- イベント名フィールドを使用して、コードを記述せずにサーバー側ハンドラーを個別にテストします。
- 「ポーリング」トランスポートが「websocket」にアップグレードされない場合は、多くの場合、WebSocketアップグレードをサポートしないリバースプロキシ(例:スティッキーセッションのないロードバランサー)を示しています。