延迟切换NAT类型
This commit is contained in:
@@ -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
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user