diff --git a/flamenco_worker/ssdp_discover.py b/flamenco_worker/ssdp_discover.py index 28c6c549ed5e1cad34d034fd6d93c0b55b7c52ae..f2e611e8cd334389ac03dd9f0dea8a823f75638b 100644 --- a/flamenco_worker/ssdp_discover.py +++ b/flamenco_worker/ssdp_discover.py @@ -1,4 +1,5 @@ import logging +import platform import socket from http.client import HTTPResponse @@ -44,6 +45,7 @@ def find_flamenco_manager(timeout=1, retries=5): log.info('Finding Flamenco Manager through UPnP/SSDP discovery.') families_and_addresses = set(interface_addresses()) + is_windows = platform.system() == 'Windows' for _ in range(retries): failed_families = 0 @@ -71,9 +73,8 @@ def find_flamenco_manager(timeout=1, retries=5): sock.bind(('', 1901)) # Required on Windows, otherwise the message won't go out. - if family == socket.AF_INET: - host = socket.gethostbyname(socket.gethostname()) - sock.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton(host)) + if is_windows and family == socket.AF_INET: + sock.setsockopt(socket.SOL_IP, socket.IP_MULTICAST_IF, socket.inet_aton('0.0.0.0')) try: for _ in range(2):