2个不稳定版本
0.2.0 | 2023年11月21日 |
---|---|
0.1.0 | 2023年11月18日 |
#96 在 #udp
用于 2 个crate(通过 atm0s-media-server-transp…)
21KB
382 行
udp_sas_async
该项目为udp_sas crate(https://crates.io/crates/udp_sas)实现了异步支持,支持tokio或async_std
使用tokio的示例
use udp_sas_async::tokio::UdpSocketSas;
#[tokio::main]
async fn main() {
let socket = UdpSocketSas::bind("0.0.0.0:0".parse().unwrap()).unwrap();
println!("Running port on 0.0.0.0:{}", socket.local_port());
let mut buf = [0; 1500];
while let Ok((size, remote, dest)) = socket.recv_sas(&mut buf).await {
println!("received {} from {} to {}", size, remote, dest);
socket.send_sas(&buf[..size], dest, remote).await.unwrap();
}
}
使用async_std的示例
use udp_sas_async::async_std::UdpSocketSas;
#[tokio::main]
async fn main() {
let socket = UdpSocketSas::bind("0.0.0.0:0".parse().unwrap()).unwrap();
println!("Running port on 0.0.0.0:{}", socket.local_port());
let mut buf = [0; 1500];
while let Ok((size, remote, dest)) = socket.recv_sas(&mut buf).await {
println!("received {} from {} to {}", size, remote, dest);
socket.send_sas(&buf[..size], dest, remote).await.unwrap();
}
}
依赖
~0–11MB
~116K SLoC