14 个版本
0.6.3 | 2024 年 8 月 2 日 |
---|---|
0.6.2 | 2024 年 1 月 30 日 |
0.6.1 | 2023 年 11 月 16 日 |
0.5.1 | 2023 年 3 月 17 日 |
0.1.0 | 2022 年 3 月 23 日 |
#50 in WebSocket
905 每月下载量
用于 11 个 Crates(其中 7 个直接使用)
125KB
2.5K SLoC
ezsockets
Rust 中创建 WebSocket 服务器或客户端可能会很麻烦。此 crate 通过提供以下功能简化了此过程:
- 特质,允许声明式和事件驱动编程。
- 与 Tokio 和 async/await 的简单并发。服务器会话可克隆,并可以在任务之间共享。
- 心跳机制以保持连接活跃。
- 自动重新连接 WebSocket 客户端。
- 支持任意客户端后端,内置原生和 WASM 客户端连接器。
- 支持多个服务器后端,如 Axum 或 Tungstenite。
- 服务器 TLS 支持,使用
rustls
和native-tls
。
文档
在 docs.rs/ezsockets 查看完整文档
示例
simple-client
- 使用 stdin 作为输入的最简单的 WebSocket 客户端。echo-server
- 回显它接收到的每个消息的服务器。echo-server
- 与echo-server
相同,但使用native-tls
。counter-server
- 每秒增加全局值并与客户端共享的服务器chat-client
- 为chat-server
和chat-server-axum
示例的聊天客户端wasm-client
- 为chat-server
和chat-server-axum
示例运行的浏览器中的聊天客户端(仅监听聊天)chat-server
- 支持房间的聊天服务器chat-server-axum
- 与上面相同,但使用axum
作为后端
客户端
默认情况下,客户端底层使用 tokio-tungstenite
。禁用默认功能并启用 wasm_client
以在 WASM 目标上运行客户端。
请参阅 examples/simple-client 中的简单用法和 docs.rs/ezsockets/server 中的文档。
服务器
WebSocket 服务器可以使用支持的任何后端
tokio-tungstenite
- 最简单的入门方式。axum
- 由 Tokio、Tower 和 Hyper 构建的模块化和易于使用的 Web 框架actix-web
- 正在进行中 #22
请参阅 examples/echo-server 中的简单用法和 docs.rs/ezsockets/server 中的文档。
许可证
许可协议为 MIT。
联系方式
在 Discord 上联系我 gbaranski#5119
,或发送邮件至 [email protected]。
依赖项
~5–19MB
~315K SLoC