4个版本
0.1.4 | 2023年7月17日 |
---|---|
0.1.2 | 2021年5月28日 |
0.1.1 | 2021年5月10日 |
0.1.0 | 2021年5月3日 |
#1503 in 异步
每月 38 次下载
37KB
748 行
stun-client
这是一个简单的基于async_std的异步STUN客户端库。目前仅实现了RFC8489的一些功能,并且只支持简单的绑定请求。
它还支持基于RFC5780的NAT行为发现中的OTHER-ADDRESS和CHANGE-REQUEST属性。
示例
lib.rs
:
这是一个简单的基于async_std的异步STUN客户端库。目前仅实现了RFC8489的一些功能,并且只支持简单的绑定请求。
它还支持基于RFC5780的NAT行为发现中的OTHER-ADDRESS和CHANGE-REQUEST属性
示例
use async_std::task;
use stun_client::*;
task::block_on(async {
let mut client = Client::new("0.0.0.0:0", None).await.unwrap();
let res = client
.binding_request("stun.l.google.com:19302", None)
.await
.unwrap();
let class = res.get_class();
match class {
Class::SuccessResponse => {
let xor_mapped_addr = Attribute::get_xor_mapped_address(&res);
println!("XOR-MAPPED-ADDRESS: {}", xor_mapped_addr.unwrap());
},
_ => panic!("error"),
}
});
依赖项
~8–19MB
~265K SLoC