"Широковещательный IP-адрес должен быть настроен программно, заменив последнее (4-е) десятичное число на 255 в IP-адресе хоста. Например, если ваш IP-адрес равен 192.168.2.34, вам необходимо выполнить широковещательную передачу на IP-адрес 192.168.2.255. "
Я использую для кодирования на MacOS, и он работает, но в Windows выдает ошибку;
Строка 15, soket.bind ((HOST, PORT)) [WinError 10049]запрашиваемый адрес недопустим в его контексте
serviceSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
serviceSocket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
ip = socket.gethostbyname(socket.gethostname()).split(".")
ip = "{}.{}.{}.255".format(ip[0],ip[1],ip[2])
HOST = ip
PORT = 5000
soket.bind((HOST,PORT))
Но когда я использую, как это;(В Windows)
serviceSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
serviceSocket.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
ip = socket.gethostbyname(socket.gethostname())
HOST = ip
PORT = 5000
soket.bind((HOST,PORT))
Я могу перехватывать сообщения UDP Broadcast на порту 5000.