1 个不稳定版本
0.1.8 | 2023年12月3日 |
---|
#18 in #webtransport
170KB
4K SLoC
WTransport
WebTransport 协议,纯 rust,async 友好。
简介
WebTransport是一种正在开发中的新协议,旨在通过Web在客户端和服务器之间实现低延迟、双向通信。它旨在通过提供更高效、更灵活的传输层来解决现有协议(如 HTTP 和 WebSocket)的局限性。
WebTransport的优势
- 🚀 低延迟:WebTransport旨在最小化延迟,适用于游戏、视频流媒体和协作编辑等实时应用。
- 🔄 双向通信:WebTransport允许客户端和服务器之间同时交换数据,实现无需多个请求的高效双向通信。
- 🔀 多路复用:使用WebTransport,可以在单个连接上多路复用多个流,减少开销并提高性能。
- 🔒 安全:WebTransport受益于Web平台提供的功能,包括传输加密和同源策略。
注意
请注意,WebTransport仍处于草案阶段,尚未标准化。《WTransport》库虽然可用,但并非完全适用于生产环境。应谨慎使用,并且随着WebTransport规范的演变,它可能会发生变化。
简单的API
服务器 | 客户端 |
---|---|
|
|
入门指南
克隆仓库
git clone https://github.com/BiagioFesta/wtransport.git
cd wtransport/
运行 Full
示例
examples/full.rs
是一个最小但完整的服务器示例,演示了WebTransport的使用。
您可以使用以下命令使用 Cargo(Rust的包管理器)运行此示例
cargo run --example full
此示例启动了一个可以接收消息的 echo WebTransport服务器。它还包括一个集成的HTTP服务器,并使用自签名TLS证书启动Google Chrome,以建立连接所需的选项。
示例
其他语言
WTransport为以下语言提供了绑定
- Elixir: wtransport-elixir
依赖项
~1.7–4MB
~100K SLoC