From b9e36d9f8c2fb673da4e0f7e4bb96a3c463bcdbe Mon Sep 17 00:00:00 2001 From: PoliEcho Date: Sat, 2 Aug 2025 10:34:58 +0200 Subject: [PATCH] maybe it works now? --- src/client/main.rs | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/client/main.rs b/src/client/main.rs index 20cadea..fe95de0 100644 --- a/src/client/main.rs +++ b/src/client/main.rs @@ -222,20 +222,23 @@ fn main() -> std::io::Result<()> { "{} packets away!, awiting a bit for NAT mappings to estabilish", "[LOG]".blue() ); - std::thread::sleep(Duration::from_millis(200)); - - match net::P2P_query(&mut buf, &peer.sock_addr, &socket, encrypted, key) { - Ok(ip) => { - ips_used[ip.octets()[3] as usize] = true; - peer.private_ip = ip; - } - Err(e) => { - eprintln!( - "{} while getting ip from peer: {}, Error: {}", - "[ERROR]".red(), - peer.sock_addr, - e - ); + std::thread::sleep(Duration::from_millis(2000)); + for _ in 0..STANDARD_RETRY_MAX { + match net::P2P_query(&mut buf, &peer.sock_addr, &socket, encrypted, key) { + Ok(ip) => { + ips_used[ip.octets()[3] as usize] = true; + peer.private_ip = ip; + break; + } + Err(e) => { + eprintln!( + "{} while getting ip from peer: {}, Error: {}", + "[ERROR]".red(), + peer.sock_addr, + e + ); + std::thread::sleep(Duration::from_millis(2000)); + } } } });