diff --git a/vnt/src/channel/punch.rs b/vnt/src/channel/punch.rs index 5e2f909..b093152 100644 --- a/vnt/src/channel/punch.rs +++ b/vnt/src/channel/punch.rs @@ -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 => { diff --git a/vnt/src/core/mod.rs b/vnt/src/core/mod.rs index 70bffbd..b8f2d23 100644 --- a/vnt/src/core/mod.rs +++ b/vnt/src/core/mod.rs @@ -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,