MsgTrans for rust
Server sample code
Using MsgTrans to create multiple protocol server.
let mut server = new;
// Add TCP channel
server.add_channel.await;
// Add WebSocket channel
server.add_channel.await;
// Add QUIC channel
server.add_channel.await;
// set some callback handler for server
server.start.await;
Run example for server
Run example for client
# for tcp
# for websocket
# for quic
Generate cert and key for test
Packet Structure
+--------------------------------+
| Packet Header |
| +--------------------------+ |
| | Message ID (4 bytes) | |
| +--------------------------+ |
| | Message Length (4 bytes)| |
| +--------------------------+ |
| | Compression Type (1 byte)| |
| +--------------------------+ |
| | Extend Length (4 bytes) | |
| +--------------------------+ |
| | Reserved (3 bytes) | |
| +--------------------------+ |
+--------------------------------+
|
v
+--------------------------------+
| Extended Header Content |
| (variable length, Extend |
| Length specifies size) |
+--------------------------------+
|
v
+--------------------------------+
| Payload Content |
| (variable length, Message |
| Length specifies size) |
+--------------------------------+
Structure Explanation:
- Header Content: Contains fixed-length header information, including Message ID, Message Length, Compression Type, and Extend Length.
- Extended Header Content: Variable-length extended header content, with its size specified by the Extend Length field.
- Payload Content: Variable-length payload content, with its size specified by the Message Length field.