7个版本
0.1.5 | 2023年9月13日 |
---|---|
0.1.4 | 2023年1月2日 |
0.1.3 | 2022年12月23日 |
0.1.1 | 2022年11月29日 |
0.0.0 | 2022年11月11日 |
#117 in WebSocket
每月25次下载
27KB
489 代码行
mezzenger-udp
为mezzenger提供的UDP传输。
https://crates.io/crates/mezzenger-udp
用法
将依赖项添加到Cargo.toml
[dependencies]
# ...
serde = { version = "1", features = ["derive"] }
kodec = { version = "0.1.0", features = ["binary"] } # or json or different one from another crate...
mezzenger = "0.1.3"
mezzenger-udp = "0.1.2"
现在,在代码中
let udp_socket = UdpSocket::bind("127.0.0.1:8080").await?;
udp_socket.connect(remote_address).await?;
use kodec::binary::Codec;
let mut transport: Transport<_, Codec, i32, String> =
Transport::new(udp_socket, Codec::default());
use mezzenger::Receive;
let integer = transport.receive().await?;
transport.send("Hello World!".to_string()).await?;
另请参阅
lib.rs
:
通过tokio UDP实现进行通信的传输。
注意:此传输继承UDP属性
- 它是不可靠的 - 消息不保证达到目的地,
- 它是无序的 - 消息可能以错误的顺序到达目的地,也可能重复(相同的消息可能到达目的地两次或更多次)。
- 消息大小限制为数据报大小 - 如果编码的消息太大,发送可能会出错。
有关更多信息,请参阅存储库。
示例
let udp_socket = UdpSocket::bind("127.0.0.1:8080").await?;
udp_socket.connect(remote_address).await?;
use kodec::binary::Codec;
let mut transport: Transport<_, Codec, i32, String> =
Transport::new(udp_socket, Codec::default());
use mezzenger::Receive;
let integer = transport.receive().await?;
transport.send("Hello World!".to_string()).await?;
依赖项
~3–12MB
~126K SLoC