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

Download history 290/week @ 2024-04-28 168/week @ 2024-05-05 373/week @ 2024-05-12 210/week @ 2024-05-19 204/week @ 2024-05-26 231/week @ 2024-06-02 399/week @ 2024-06-09 340/week @ 2024-06-16 322/week @ 2024-06-23 182/week @ 2024-06-30 364/week @ 2024-07-07 157/week @ 2024-07-14 71/week @ 2024-07-21 224/week @ 2024-07-28 390/week @ 2024-08-04 208/week @ 2024-08-11

905 每月下载量
用于 11 Crates(其中 7 个直接使用)

MIT 许可证

125KB
2.5K SLoC

ezsockets

Rust 中创建 WebSocket 服务器或客户端可能会很麻烦。此 crate 通过提供以下功能简化了此过程:

  • 特质,允许声明式和事件驱动编程。
  • 与 Tokio 和 async/await 的简单并发。服务器会话可克隆,并可以在任务之间共享。
  • 心跳机制以保持连接活跃。
  • 自动重新连接 WebSocket 客户端。
  • 支持任意客户端后端,内置原生和 WASM 客户端连接器。
  • 支持多个服务器后端,如 Axum 或 Tungstenite。
  • 服务器 TLS 支持,使用 rustlsnative-tls

文档

docs.rs/ezsockets 查看完整文档

示例

  • simple-client - 使用 stdin 作为输入的最简单的 WebSocket 客户端。
  • echo-server - 回显它接收到的每个消息的服务器。
  • echo-server - 与 echo-server 相同,但使用 native-tls
  • counter-server - 每秒增加全局值并与客户端共享的服务器
  • chat-client - 为 chat-serverchat-server-axum 示例的聊天客户端
  • wasm-client - 为 chat-serverchat-server-axum 示例运行的浏览器中的聊天客户端(仅监听聊天)
  • chat-server - 支持房间的聊天服务器
  • chat-server-axum - 与上面相同,但使用 axum 作为后端

客户端

默认情况下,客户端底层使用 tokio-tungstenite。禁用默认功能并启用 wasm_client 以在 WASM 目标上运行客户端。

请参阅 examples/simple-client 中的简单用法和 docs.rs/ezsockets/server 中的文档。

服务器

WebSocket 服务器可以使用支持的任何后端

请参阅 examples/echo-server 中的简单用法和 docs.rs/ezsockets/server 中的文档。

许可证

许可协议为 MIT。

联系方式

在 Discord 上联系我 gbaranski#5119,或发送邮件至 [email protected]

依赖项

~5–19MB
~315K SLoC