#websocket-client #tls #同步 #低开销 #消息 # #

websocket-lite

快速、低开销的 WebSocket 客户端

19 个版本

0.5.2 2022年7月24日
0.5.0 2020年12月24日
0.4.0 2020年11月4日
0.3.5 2020年6月28日
0.2.1 2018年10月26日

#88WebSocket 分类中

Download history 325/week @ 2024-04-07 363/week @ 2024-04-14 371/week @ 2024-04-21 343/week @ 2024-04-28 399/week @ 2024-05-05 477/week @ 2024-05-12 641/week @ 2024-05-19 943/week @ 2024-05-26 1631/week @ 2024-06-02 1442/week @ 2024-06-09 1441/week @ 2024-06-16 1241/week @ 2024-06-23 1155/week @ 2024-06-30 1341/week @ 2024-07-07 1496/week @ 2024-07-14 1643/week @ 2024-07-21

5,680 每月下载量
4 Crates 中使用 (2 个直接使用)

MIT 许可协议

63KB
1.5K SLoC

websocket-lite

CI

此仓库包含三个 Crates

  • websocket-lite,一个快速、低开销的 WebSocket 客户端
  • websocket-codec,WebSocket 协议的 Tokio 编解码器实现
  • hyper-websocket-lite,hyper 服务器与 websocket-codec 之间的绑定

websocket-lite

文档 | 源代码

此 Crates 优化用于在长时间内接收大量消息。一个关键特性是它在建立连接并发送和接收初始消息后不再进行内存分配;它重用一对缓冲区,这些缓冲区的大小足以容纳迄今为止最长的消息。

您可以在异步(基于 futures)和同步代码中使用此 Crates。 native_tlswss://... 服务器提供 TLS 功能。

此 Crates 与 Autobahn 测试套件 中的 fuzzingserver 模块完全兼容。

websocket-codec

文档 | 源代码

这是一个独立的 Crates,不直接执行任何 I/O 操作。有关完整的 WebSocket 客户端,请参阅 websocket-lite Crates。

hyper-websocket-lite

文档 | 源代码

提供 server_upgrade 函数,它将客户端的 HTTP 升级请求桥接到 WebSocket 协议。

其他命令行工具

  • wsinspect:从二进制文件中查看协议级别的WebSocket帧数据。
    cargo run --example wsinspect -- --help
    
  • wsdump:是wsdump工具的基本副本,该工具位于websocket-client Python包中。
    cargo run --example wsdump -- --help
    

async/await

版本0.3.2及以上使用std futures和asyncawait关键字。它们基于tokio 0.2和futures 0.3,最早支持的编译器是1.39。

版本0.2.4是async/await之前的版本。它基于tokio 0.1和futures 0.1。

依赖项

~5–16MB
~227K SLoC