Я отправляю сообщение на широковещательный адрес, чтобы обнаружить определенные c устройства в сети. Я могу отправить сообщение и успешно получить ответы, однако я обрабатываю ответы внутри while True
l oop.
Я не считаю, что это лучший способ сделать это, поскольку l oop не выходит.
Кто-нибудь может посоветовать, как лучше всего обрабатывать ответы. Ниже мой код (я работаю над обработкой таймаутов)
def broadcast_message():
cs = socket(AF_INET, SOCK_DGRAM)
cs.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)
cs.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
cs.settimeout(10)
cs.sendto("Message".encode(), ('<broadcast-ip>', <port>))
while True:
bytes_recieved = cs.recvfrom(1024)
print(bytes_recieved)