Simple UDP-only STUN client for resolving external IP address:port behind NAT.
Supports both sync and async.
Example (sync):
use UdpSocket;
use StunClient;
use ;
let local_addr : SocketAddr = "0.0.0.0:0".parse.unwrap;
let stun_addr = "stun.l.google.com:19302".to_socket_addrs.unwrap.filter.next.unwrap;
let udp = bind.unwrap;
let c = new;
let my_external_addr = c.query_external_address.unwrap;
Example (async):
use StunClient;
use ;
let local_addr : SocketAddr = "0.0.0.0:0".parse.unwrap;
let stun_addr = "stun.l.google.com:19302".to_socket_addrs.unwrap.filter.next.unwrap;
let udp = bind.unwrap;
let c = new;
let f = c.query_external_address_async;
let my_external_addr = f.await.unwrap;
Old version (0.1) of stunclient is almost the same, but is for Tokio 0.1
.