pdf文档 websockets Documentation Release 3.4

192.66 KB 36 页 0 评论
语言 格式 评分
英语
.pdf
3
摘要
文档介绍了websockets库,用于开发WebSocket服务器和客户端,它基于Python的asyncio框架,遵循RFC 6455标准,通过了Autobahn测试套件。该库提供了简单直观的API,支持高并发应用开发。文档涵盖了版本变更日志,包括功能增强如流量控制、支持子协议、错误处理改进等。同时,文档还提供了安装指南、用户指南和贡献指南,帮助开发者使用和升级文档。
AI总结
以下是对文档内容的简要总结: ### 概述 这份文档主要介绍了 **websockets** 库的功能、安装方式、使用指南、版本更新日志以及贡献指南。**websockets** 是一个用于在 Python 中开发 WebSocket 服务器和客户端的库。它遵循 RFC 6455,注重正确性和简单性,并通过了 Autobahn 测试套件。该库基于 Python 标准的异步 I/O 框架 **asyncio**,提供了基于 coroutine 的简单 API,方便开发高并发应用。 --- ### 主要特点 - 基于 **asyncio** 构建,支持高并发。 - 提供简单的 API,易于使用。 - 支持 WebSocket 协议 RFC 6455。 - 通过了 Autobahn 测试套件,确保功能正确性。 --- ### 安装 如需安装,使用 pip 即可完成: ``` pip install websockets ``` 要求 Python 3.4 或更高版本(对于 Python 3.3,需额外安装 **asyncio**)。 --- ### 使用指南 #### 快速上手 文档提供了一个简单的 WebSocket 服务器示例: ```python #!/usr/bin/env python import asyncio import websockets async def hello(websocket, path): name = await websocket.recv() print(f"< {name}") greeting = f"Hello {name}!" await websocket.send(greeting) print(f"> {greeting}") start_server = websockets.serve(hello, 'localhost', 8765) asyncio.get_event_loop().run_until_complete(start_server) asyncio.get_event_loop().run_forever() ``` #### 关键功能 - 支持异步编程。 - 提供流量控制(流控制)以管理数据。 - 支持自定义协议和连接处理。 - 提供限流和异常处理功能。 --- ### 版本更新日志 #### 版本 3.4 - 将 `serve()` 和 `connect()` 的 `klass` 参数重命名为 `create_protocol`。 - 支持通过 `process_request()` 自定义处理入站连接。 - 优化 HTTP 处理,提高简洁性和性能。 - 可选的 C 扩展提升低级操作速度。 #### 版本 3.0 - **注意:版本 3.0 引入了向后不兼容的改变**,`recv()` API 修改为在连接关闭时抛出 `ConnectionClosed` 异常,而非返回 `None`。 #### 版本 2.0 - **注意:版本 2.0 的 `send()`、`ping()` 和 `pong()` API 从函数改为 coroutine**,需使用 `await`。 #### 其他版本更新 - 版本 1.0:初始公开发布。 - 版本 3.3:降低日志噪音,避免慢连接上的并发写入崩溃。 - 版本 3.2:支持超时、最大消息大小和最大队列大小。 - 版本 3.1:添加传入数据的流量控制。 --- ### 他人如何贡献 - � освіт报告、补丁和建议均可通过问题追踪或拉取请求提交。 - 代码样本需适配 Python 3.5 或更低版本。 --- ### 其他信息 - **许可证**:MIT 许可证,允许源代码和二进制形式的再分发,但需保留版权声明和免责声明。 - **免责声明**:软件按“现状”提供,不对任何直接或间接损害承担责任。 --- 以上是文档的核心内容,涵盖了库的功能、安装、使用和版本更新的关键信息。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余 29 页请下载阅读 -
文档评分
请文明评论,理性发言.