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次下载

Apache-2.0

27KB
489 代码行

mezzenger-udp

mezzenger提供的UDP传输。

https://crates.io/crates/mezzenger-udp

ko-fi

用法

将依赖项添加到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?;

另请参阅

mezzenger


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