РЕШЕНО Arduino + ethernet shield || leonardo eth. dhcp client. обновление аренды ip адреса.

Тема в разделе "Проводная и беспроводная связь", создана пользователем SergeiL, 19 янв 2021.

  1. SergeiL

    SergeiL Оракул Модератор

    Казалось бы, все просто - получил по DHCP все настройки: IP адрес, маску, шлюз, DNSсервера – и работай, все хорошo.

    А, нет… Через какое-то время устройство может начать сбоить…

    И, к сожалению, информации и идей, ПОЧЕМУ - нет нигдe.

    А все просто, устройство получило IP адрес, работает, но время аренды вышло, и DHCPсервер пометил этот IP адрес как свободный, и при новом запросе выдал его другому устройству.

    И у нас в сети два устройства с одинаковыми IP адресами.

    Сегодня, была обнаружена проблема на одном из смартфонов, подключенного по Wi-Fi к сети.
    WhatsApp на этом телефоне периодически говорил, что нет выхода в интернет. SpeedTest показывал, что сервер потерян.

    Отключил WiFi на телефоне, а пинг из сети на этот адрес идет. Дальше поиск по MAC.

    А с этим IP адресом месяцами работает LeonardoETH получившая его по DHCP.

    Помню, что по RFC нужно запрашивать обновление на сервере за 50% времени аренды, и думал, что это делается.


    Но, как оказывается, есть вызов:
    Код (C++):
    сlient.maintain();
     
    который можно вставить в loop(); и который будет обеспечивать продление аренды IP адреса в нужное время.
     
    issaom и ИгорьК нравится это.