From f7a4d4ad294d77cf6736d3989e19f1f03fb2c006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bennet=20Ble=C3=9Fmann?= Date: Tue, 15 Jun 2021 22:12:40 +0200 Subject: [PATCH] fall back to IPv4 --- src/main.rs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index 243918b..85b4056 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,9 +16,7 @@ use serde::Deserialize; use std::convert::Into; use std::convert::TryInto; use std::io::ErrorKind; -use std::net::Ipv4Addr; -use std::net::Ipv6Addr; -use std::net::ToSocketAddrs; +use std::net::{Ipv4Addr, Ipv6Addr, SocketAddr, ToSocketAddrs}; use tokio::net::TcpListener; use tokio::net::TcpStream; use tokio_native_tls::TlsConnector; @@ -178,8 +176,11 @@ async fn main() -> Result<(), Error> { println!("Resolved upstream address: {}", upstream_addr); println!("Binding to port {}", ws_port); - let socket_addr = (Ipv6Addr::from(0), ws_port); - let server = TcpListener::bind(&socket_addr).await?; + let ipv6_socket_addr = (Ipv6Addr::UNSPECIFIED, ws_port); + let ipv4_socket_addr = (Ipv4Addr::UNSPECIFIED, ws_port); + let socket_addrs = [SocketAddr::from(ipv6_socket_addr), SocketAddr::from(ipv4_socket_addr)]; + + let server = TcpListener::bind(&socket_addrs[..]).await?; println!("Waiting for client connections.."); loop {