• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Отслеживание смены ip

Alex_Tim

New member
Всем привет!

Подскажите в таком моменте. Как отслеживать смену ip адресса?

То есть моя esp устанавливает канал по сокету с сервером. Сокет запускается в таске фриртос. Происходит смена ip адреса.

Что делать, что бы esp не падала в ошибки, как отлавливать данную ситуацию.
Как я хочу что бы это было. Провайдер менять ip адресс внешний, esp это улавливает и перезапускает task.
У меня esp32, сокет висит на одном потоке, на втором потоке трудится другая программа. Соответственно, когда происходит смена ip, вторая программа должна продолжать трудится.
 

Алексей.

Active member
Как я хочу что бы это было. Провайдер менять ip адресс внешний, esp это улавливает и перезапускает task.
Для esp32 провайдером является wifi роутер, для роутера в свою очередь провайдером является поставщик интернета.
Например провайдер выдал wifi роутеру адрес 10.254.28.10, а роутер выдал модулю esp32 адрес 192.168.1.100, кроме этого все запросы на улицу из вашей внутренней сети идут от ip адреса 213.87.158.56
Смену какого ip адреса вы собираетесь отслеживать?
 

Alex_Tim

New member
Для esp32 провайдером является wifi роутер, для роутера в свою очередь провайдером является поставщик интернета.
Например провайдер выдал wifi роутеру адрес 10.254.28.10, а роутер выдал модулю esp32 адрес 192.168.1.100, кроме этого все запросы на улицу из вашей внутренней сети идут от ip адреса 213.87.158.56
Смену какого ip адреса вы собираетесь отслеживать?
Да это я знаю. Я имею ввиду esp подключается по сокету к серверу который обслуживается другим провайдером. Если провайдер меняет внешний ip адрес сети в которой находится esp, то логично, что сокет оборвется.
В этом случае поведение esp будет аналогично тому, что мы просто бы отключили сокет сервер, верно?
 

Алексей.

Active member
Если провайдер меняет внешний ip адрес сети в которой находится esp, то логично, что сокет оборвется.
Пока роутер заново не запросить адрес в аренду у провайдера, никто адрес менять не будет.
Если вы построили сокет и соединили его с удаленным хостом и связь по неопределенным причинам прервалась, то fin для этого сокета вряд ли получите, предусматривайте действия по неактивности сокета для этого случая.
 

Alex_Tim

New member
Пока роутер заново не запросить адрес в аренду у провайдера, никто адрес менять не будет.
Если вы построили сокет и соединили его с удаленным хостом и связь по неопределенным причинам прервалась, то fin для этого сокета вряд ли получите, предусматривайте действия по неактивности сокета для этого случая.
Понял, спасибо!
 
Сверху Снизу