

# WebSocket メッセージとステータスコード
<a name="network-analyer-messages-status"></a>

署名済みリクエストを作成したら、WebSocket ライブラリ、またはプログラミング言語に適したライブラリでリクエスト URL を使用して、サービスへのリクエストを行うことができます。この署名付きリクエストの生成方法の詳細については、「[WebSocket ライブラリで署名済みリクエストを生成する](network-analyzer-generate-request.md)」を参照してください。

## WebSocket メッセージ
<a name="network-analyer-messages"></a>

WebSocket プロトコルを使用して双方向接続を確立できます。メッセージは、クライアントからサーバーに、およびサーバーからクライアントに送信できます。ただし、ネットワークアナライザは、サーバーからクライアントに送信されるメッセージのみをサポートします。クライアントからのメッセージの受信は想定外であり、クライアントからメッセージを受信すると、サーバーは自動的に WebSocket 接続を閉じます。

リクエストが受信され、トレースメッセージングセッションが開始されると、サーバーはペイロードである JSON ストラクチャで応答します。ペイロードの詳細と、AWS マネジメントコンソール からトレースメッセージングをアクティブ化する方法については、「[ネットワークアナライザのトレースメッセージログをリアルタイムで表示およびモニタリングする](network-analyzer-logs.md)」を参照してください。

## WebSocket ステータスコード
<a name="network-analyer-status-codes"></a>

サーバーからクライアントへの通信の WebSocket ステータスコードを次に示します。WebSocket ステータスコードは、「[RFC Standard of Normal closure of connections](https://datatracker.ietf.org/doc/html/rfc6455#section-7.3)」に従っています。

サポートされているステータスコードを次に示します。
+ 

**1000**  
このステータスコードは通常のクロージャを示します。これは WebSocket 接続が確立され、リクエストへの対応が実行されたことを意味します。このステータスは、セッションがアイドル状態になり、接続がタイムアウトになったときに確認できます。
+ 

**1002**  
このステータスコードは、プロトコルエラーが原因でエンドポイントが接続を終了していることを示します。
+ 

**1003**  
このステータスコードは、受信できない形式のデータを受信したため、エンドポイントが接続を終了したエラーステータスを示します。エンドポイントはテキストデータのみをサポートしており、サポートされていない形式を使用しているクライアントからバイナリメッセージまたはメッセージを受信すると、このステータスコードが表示されることがあります。
+ 

**1008**  
このステータスコードは、ポリシーに違反するメッセージを受信したため、エンドポイントが接続を終了したエラーステータスを示します。このステータスは汎用であり、1003 や 1009 などの他のステータスコードが適用されない場合に表示されます。このステータスは、ポリシーを非表示にする必要がある場合や、有効期限が切れた署名などの認証に失敗した場合にも表示されます。
+ 

**1011**  
このステータスコードは、予期しない状態または内部エラーが発生して、リクエストへの対応を実行できなかったため、サーバーが接続を終了しているエラーステータスを示します。

## 次のステップ
<a name="network-analyzer-websockets-next"></a>

署名済みリクエストを生成する方法と、WebSocket 接続を使用してサーバーからのメッセージを確認する方法を学んだので、トレースメッセージングをアクティブにして、ワイヤレスゲートウェイとワイヤレスデバイスリソースのメッセージログの受信を開始できます。詳細については、「[ネットワークアナライザのトレースメッセージログをリアルタイムで表示およびモニタリングする](network-analyzer-logs.md)」を参照してください。