WTransport
WebTransport protocol, pure-rust, async-friendly.
Introduction
WebTransport is a new protocol being developed to enable low-latency, bidirectional communication between clients and servers over the web. It aims to address the limitations of existing protocols like HTTP and WebSocket by offering a more efficient and flexible transport layer.
Benefits of WebTransport
- :rocket: Low latency: WebTransport is designed to minimize latency, making it suitable for real-time applications such as gaming, video streaming, and collaborative editing.
- :arrows_counterclockwise: Bidirectional communication: WebTransport allows simultaneous data exchange between the client and server, enabling efficient back-and-forth communication without the need for multiple requests.
- :twisted_rightwards_arrows: Multiplexing: With WebTransport, multiple streams can be multiplexed over a single connection, reducing overhead and improving performance.
- :lock: Security: WebTransport benefits from the security features provided by the web platform, including transport encryption and same-origin policy.
Notes
Please be aware that WebTransport is still a draft and not yet standardized. The WTransport library, while functional, is not considered completely production-ready. It should be used with caution and may undergo changes as the WebTransport specification evolves.
Simple API
async
async
Getting Started
Clone the Repository
Run Full Example
The examples/full.rs is a minimal but complete server example that demonstrates the usage of WebTransport.
You can run this example using Cargo, Rust's package manager, with the following command:
This example initiates an echo WebTransport server that can receive messages. It also includes an integrated HTTP server.
Open Google Chrome and navigate to the page http://127.0.0.1:8080.
Examples
Other languages
WTransport has bindings for the following languages:
- Elixir: wtransport-elixir