Я реализую простой локальный DNS-сервер для решения рекурсивных запросов для клиентов. Мне нужно отправить данные на сервер и получить данные, которые сервер отправляет обратно. Если по истечении определенного времени ожидания я не получил ответа, я хочу обновить IP-адрес пункта назначения моего запроса. Как мне это сделать?
cs = socket(AF_INET, SOCK_DGRAM)
cs.sendto(data, (ip_address1, 53))
reply, a = cs.recvfrom(512)
По сути, я просто хочу запрограммировать, что, если, скажем, мы не получим ответ от сервера с ip_address1 через 100 мс, а затем отправить данные на другой серверс ip_address2, например. У меня есть список IP-адресов, которые я хочу просмотреть и посмотреть, которые ответят на мой запрос. Как мне этого добиться?