

# WebSocket 消息和状态码
<a name="network-analyer-messages-status"></a>

创建预签名请求后，您可以将请求 URL 与 WebSocket 库或适合您的编程语言的库一起使用，向服务发出请求。有关如何生成此预签请求的更多信息，请参阅 [使用 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 正常关闭连接标准](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)。