Я пока проблему решил увеличением времени кипаливе (кажется так )в файле библиотеки, с 10 поменял на большее значение.eeak1 писал(а): ↑Пн май 21, 2018 10:06 pmУ меня та же беда, каждые 15 секунд реконнект, но т.к. все работало то и не напрягало.rzag писал(а): ↑Вт апр 24, 2018 9:46 pmУважаемые, как все-таки решить проблему с постоянным реконнектом ?
вот часть лога москитто:
1524595242: Client majordomo has exceeded timeout, disconnecting.
1524595242: Socket error on client majordomo, disconnecting.
1524595242: New connection from 192.168.1.40 on port 1883.
1524595242: Client majordomo disconnected.
1524595242: New client connected from 192.168.1.40 as majordomo (c0, k10).
1524595287: Client majordomo has exceeded timeout, disconnecting.
1524595287: Socket error on client majordomo, disconnecting.
1524595287: New connection from 192.168.1.40 on port 1883.
1524595287: Client majordomo disconnected.
1524595287: New client connected from 192.168.1.40 as majordomo (c0, k10).
1524595302: Client majordomo has exceeded timeout, disconnecting.
Сегодня обновил mosquitto до 1.5 и сразу все стало хуже. После 10 реконнектов брокер просто перестает опправлять данные на сервер.
Откатился назад на 1.4, полет нормальный.
UPD:
Определил что постоянные реконнекты вызывает этот код:Может быть Сергей прокомментирует, так ли нужны эти искусственные реконнекты ? В новом mosquitto это приводит к проблемам.Код: Выделить всё
if(feof($this->socket)){ if($this->debug) echo "eof receive going to reconnect for good measure\n"; fclose($this->socket); $this->connect(false); if(count($this->topics)) $this->subscribe($this->topics); }
Реконекты остались, но происходят не так быстро.
Все равно напрягает, т.к. основная причина не понятна. И бывает, что в момент реконнекта в МД не доходят данные.
Так что жду, что посоветуют умные люди.
Думаю, что реконекты происходят у многих (что приводит к тормозам по работе с протоколом mqtt), просто мало кто смотрит лог.