From 71fda58a3bfd24d79d2a9231a8110b251eee1e0c Mon Sep 17 00:00:00 2001 From: TheKysek Date: Wed, 3 Aug 2016 13:15:45 +0200 Subject: [PATCH] Tweak listeners and their error messages --- src/main.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/src/main.py b/src/main.py index 2d12c15..9ec9a02 100644 --- a/src/main.py +++ b/src/main.py @@ -56,19 +56,28 @@ def main(): advertiser = Advertiser() advertiser.start() - try: - listener_ipv4 = Listener('0.0.0.0', shared.listening_port) - listener_ipv4.start() - except Exception as e: - logging.error('Error while starting IPv4 listener') - logging.error(e) + listener_ipv4 = None + listener_ipv6 = None + + if socket.has_ipv6: + try: + listener_ipv6 = Listener('', shared.listening_port, family=socket.AF_INET6) + listener_ipv6.start() + except Exception as e: + logging.warning('Error while starting IPv6 listener') + logging.warning(e) try: - listener_ipv6 = Listener('::', shared.listening_port, family=socket.AF_INET6) - listener_ipv6.start() + listener_ipv4 = Listener('', shared.listening_port) + listener_ipv4.start() except Exception as e: - logging.error('Error while starting IPv6 listener') - logging.error(e) + if listener_ipv6: + logging.warning('Error while starting IPv4 listener. ' + 'However the IPv6 one seems to be working and will probably accept IPv4 connections.') + else: + logging.error('Error while starting IPv4 listener.' + 'You will not receive incoming connections. Please check your port configuration') + logging.error(e) if __name__ == '__main__': main()