Прослушивание ответов UDP после отправки сообщения на широковещательный адрес - PullRequest
0 голосов
/ 16 июня 2020

Я отправляю сообщение на широковещательный адрес, чтобы обнаружить определенные 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)
...