延迟切换NAT类型

This commit is contained in:
lubeilin
2023-09-03 17:24:25 +08:00
parent c3cff7c5b5
commit a943f5bffc
2 changed files with 9 additions and 2 deletions
+2 -1
View File
@@ -77,10 +77,11 @@ impl Punch {
.await;
}
if !nat_info.ipv6_addr.ip().is_unspecified() && nat_info.ipv6_addr.port() != 0 {
let _ = self
let rs = self
.context
.send_main_udp(buf, SocketAddr::V6(nat_info.ipv6_addr))
.await;
log::info!("发送到ipv6地址:{:?},rs={:?}", nat_info.ipv6_addr, rs);
}
match nat_info.nat_type {
NatType::Symmetric => {
+7 -1
View File
@@ -439,8 +439,14 @@ impl VntUtil {
if let Some(udp_proxy) = udp_proxy {
tokio::spawn(udp_proxy.start());
}
let context = context.clone();
let nat_test = nat_test.clone();
//延迟切换类型,避免无效流量
tokio::spawn(async move {
tokio::time::sleep(Duration::from_secs(15)).await;
context.switch(nat_test.nat_info().nat_type);
});
}
context.switch(nat_test.nat_info().nat_type);
Ok(Vnt {
config: self.config,
current_device,