aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/client_main.rs24
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.");