Size: a a a

ESP8266 & ESP32 [RU]

2021 June 25

r

romanetz in ESP8266 & ESP32 [RU]
Баг что аренда адреса всего на минуту ))
источник

AF

Alexey D. Filimonov ... in ESP8266 & ESP32 [RU]
Вот если адрес сменили то соединение надо дропать. А если не сменили то зачем?
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
это все регламентируется протоколом ip. так что либо следуем протоколу либо изобретаем свой :)
источник

AF

Alexey D. Filimonov ... in ESP8266 & ESP32 [RU]
Ну у микротов 10 минут по дефолту. Тоже не особо
источник

r

romanetz in ESP8266 & ESP32 [RU]
А что мешает неделю поставить? )
источник

AF

Alexey D. Filimonov ... in ESP8266 & ESP32 [RU]
Вот сильно сомневаюсь
источник

I

Indr1x in ESP8266 & ESP32 [RU]
А чем? Майскими указами президента? 😁
источник

AF

Alexey D. Filimonov ... in ESP8266 & ESP32 [RU]
Ну найди где регламентируется что клиент не должен или должен закрыть соединения при dhcp renew. Я такого в rfc не видывал.
источник

AF

Alexey D. Filimonov ... in ESP8266 & ESP32 [RU]
Да и зачем ? Установка соединения самая дорогая процедура обычно.
источник

r

romanetz in ESP8266 & ESP32 [RU]
Он же не знает, какой дадут ) чтобы соединение не висело, иначе оно на сервере в итоге по тайм-ауту отвалится (а это очень долго)
источник

DS

Dumitru Savva in ESP8266 & ESP32 [RU]
+
Думаю написать им об этому
источник

DS

Dumitru Savva in ESP8266 & ESP32 [RU]
Он может узнать новый и потом принять решение, дропать или нет
источник

r

romanetz in ESP8266 & ESP32 [RU]
Чот слишком геморно в реализации
источник

DS

Dumitru Savva in ESP8266 & ESP32 [RU]
Ну так реализация ядра и не должна быть простой 😅
источник

r

romanetz in ESP8266 & ESP32 [RU]
Вы причинно-следственную связь путаете. Это нижележащий уровень (сетевая карта) стек информирует, что больше работать не сможет
источник

r

romanetz in ESP8266 & ESP32 [RU]
Потому что может и никакого адреса не получить
источник

DS

Dumitru Savva in ESP8266 & ESP32 [RU]
Я бы согласился, если бы не увидел, что на другой прошивки такой проблемы нет (та, что на питоне)
Но так как, есть рабочий вариант с такими настройками dhcp сервера, думаю вполне возможно реализовать сценарий, где tcp соединение останется живой
источник

m

mefest in ESP8266 & ESP32 [RU]
Это сразу или когда долго пакеты не отсылаешь?
Upd: а у видел что нашли причину
источник

DS

Dumitru Savva in ESP8266 & ESP32 [RU]
Сразу же
Я написал бесконечный цикл на отправку сообщений на dummy сервер, в ClientContext-е (он дергает внутренние методы tcp из sdk) в методе on_error, который вызывается при ненормальном закрытии соединения, обратился по nullptr чтобы уронить ESP и снять стэктрейс

Там где-то глубоко вызывались методы типа ‘on_dhcp_renew’ и в таком духе
источник

DS

Dmitriy Soloshenko in ESP8266 & ESP32 [RU]
В стандартном примере использования MQTT есть часть которая демонстрирует что делать при отключении. Там просиходит переподключение с использованием таймеров. Но вот судя по дампу - Вы MQTT используете не по назначению. Для этого больше REST подходит.
источник