| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档主要介绍了websockets库的版本更新和功能改进。在3.3版本中,新增了连接超时、最大数据大小和队列限制等参数,并增强了服务器关闭的稳定性。3.0版本对$recv()$API进行了重大更改,引入了$ConnectionClosed$异常,取代了之前的$None$返回值。文档还详细描述了服务器和客户端的API接口,包括如何处理消息收发、异常处理以及 WebSocket 协议的握手过程。此外,还提到了兼容性问题及调试方法。 | ||
| AI总结 | ||
《websockets Documentation Release 3.3》文档总结如下:
### 主要更新和功能
#### 3.3 版本
- **新增功能**:
- `connect()` 和 `serve()` 方法新增 `timeout`、`max_size` 和 `max_queue` 参数。
- 提升了服务器关闭的健壮性。
#### 3.2 版本
- **新增功能**:
- 避免在连接关闭前握手时的警告。
- 增加了对传入数据的流量控制。
#### 3.1 版本
- **新增功能**:
- 避免在连接关闭前握手时的警告。
- 增加了对传入数据的流量控制。
#### 3.0 版本
- **重大更新**:
- `recv()` API 的行为发生重大变化:不再返回 `None`,而是抛出 `ConnectionClosed` 异常。
- 为兼容旧版本,新增 `legacy_recv` 参数,可通过传递 `legacy_recv=True` 恢复旧行为。
- **其他更新**:
- 支持将 `connect()` 作为 Python 3.5 的异步上下文管理器。
- 更新文档以支持 Python 3.5 的 `await` 和 `async` 语法。
- `ping()` 和 `pong()` 方法支持传递 `str` 类型的数据。
- 修复了 asyncio 在负载情况下终止连接的 bug。
- 将 `state_name` 属性设为公共 API。
#### 2.7 版本
- **新增功能**:
- 增加了对 Python 3.5 的兼容性。
- 更新了文档。
#### 2.6 版本
- **新增功能**:
- 在协议中增加了本地地址和远程地址属性。
- 服务器关闭时会正确关闭连接,使用状态码 1001。
### 核心功能概述
- **服务器功能**:
- 提供 `serve()` 方法创建 WebSocket 服务器。
- 支持自定义协议类 `WebSocketServerProtocol`。
- 提供 `recv()` 和 `send()` 方法收发消息。
- 支持设置超时、最大消息大小和队列大小。
- **客户端功能**:
- 提供 `connect()` 方法创建 WebSocket 客户端。
- 支持自定义协议类 `WebSocketClientProtocol`。
- 支持设置超时、最大消息大小和队列大小。
- **其他功能**:
- 提供 `ping()` 和 `pong()` 方法进行心跳检测。
- 支持异步上下文管理器(Python 3.5 及以上)。
- 支持设置额外的 HTTP 头和子协议。
### 注意事项
- **3.0 版本兼容性**:
- `recv()` 的行为变化可能导致旧代码出错,建议升级时检查相关代码。
- 通过 `legacy_recv` 参数可保持旧行为,但未来可能会移除。
- **调试**:
- 开启日志记录可帮助排查连接和消息处理问题。
### 总结
websockets 库提供了简洁且强大的 WebSocket 实现,支持服务器和客户端的创建、消息收发、心跳检测等功能。3.0 版本的重大更新需要注意 API 的变化,其他版本的更新主要集中在性能优化、兼容性和新功能的增加。 | ||
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
25 页请下载阅读 -
文档评分














websockets Documentation
Release 3.3