From 2eaed3a08c28c386cff8974b8d1f1fa348c04b7f Mon Sep 17 00:00:00 2001 From: Arne Dußin Date: Thu, 4 Feb 2021 10:32:53 +0100 Subject: IPv4 can now be used with hostnames --- src/client_main.rs | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/client_main.rs b/src/client_main.rs index 3e0a436..652a3da 100644 --- a/src/client_main.rs +++ b/src/client_main.rs @@ -90,14 +90,26 @@ fn main() { SocketAddr::new(IpAddr::V6(Ipv6Addr::LOCALHOST), server_port) } } - Some(addr) => (addr, server_port) - .to_socket_addrs() - .expect("Not a valid address") - .next() - .expect("Hostname not registered."), + Some(addr) => { + let addrs = (addr, server_port) + .to_socket_addrs() + .expect("Not a valid address"); + let mut addr = None; + for a in addrs { + if use_ipv4 && a.is_ipv4() { + addr = Some(a); + break; + } else if !use_ipv4 { + addr = Some(a); + break; + } + } + + addr.expect("Could not find a valid ip address on that hostname") + } }; - client::run(server_address); + client::run(dbg!(server_address)); if let Some(handle) = server_handle { handle.join().expect("Server thread closed unexpectedly."); -- cgit v1.2.3-70-g09d2