我正在向广播地址发送一条消息,以发现网络上的特定设备。我可以发送消息并成功获取响应,但是我正在while True
循环内处理响应。
但是,我不认为这是最好的方法,因为循环不会退出。
任何人都可以建议什么是处理响应的最佳方法。下面是我的代码(我正在处理超时)
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)