rmw-stun

get external ip port via stun server

use example

``` use asyncstd::net::UdpSocket; use rmwstun::external_addr; use std::net::{IpAddr, Ipv4Addr, SocketAddr}; use std::time::{Duration, Instant};

[async_std::main]

async fn main() { let udp = UdpSocket::bind(SocketAddr::new(IpAddr::V4(Ipv4Addr::new(0, 0, 0, 0)), 0)) .await .unwrap(); //let server = "not.exist.stun:3478"; let server = "stun.cablenet-as.net:3478"; let timeout = 3; let start = Instant::now(); let addr = external_addr(&udp, server, timeout).await; let duration = start.elapsed();

println!("external addr {:?} cost {:?}", addr, duration); }

```

output as below

``` external addr Some(54.177.127.37:46866) cost 428.986475ms

```

关于

本项目隶属于人民网络(rmw.link) 代码计划。

人民网络