diff options
| author | Arne Dußin | 2021-02-04 10:32:53 +0100 |
|---|---|---|
| committer | Arne Dußin | 2021-02-04 10:32:53 +0100 |
| commit | 2eaed3a08c28c386cff8974b8d1f1fa348c04b7f (patch) | |
| tree | 1b9776b812cc6ffd35e2cf93e5b59e449afc1fc4 /src | |
| parent | f66875f9aec9ea62b7e97aee1de42f49855d9f68 (diff) | |
| download | graf_karto-2eaed3a08c28c386cff8974b8d1f1fa348c04b7f.tar.gz graf_karto-2eaed3a08c28c386cff8974b8d1f1fa348c04b7f.zip | |
IPv4 can now be used with hostnames
Diffstat (limited to 'src')
| -rw-r--r-- | src/client_main.rs | 24 |
1 files changed, 18 insertions, 6 deletions
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."); |
