Не корректная работа порта опроса

Ситуация такая: когда TCP-клиент (в нашем случае модем) подключается к ЛЭРС, то в статусе GPRS-соединений - статус “зеленый”, но если он отключается (корректно, с закрытием tcp соединения), то ЛЕРС продолжает отображать статус “зеленый”. Все бы ничего, но при попытке подключиться повторно на этот порт, ЛЭРС отбивает соединение, замечу, что ни какого опроса в этот момент времени по данному порту не ведется.

Далее, если TCP-клиент (в нашем случае модем) отключился не корректно (без процедуры разрыва сессии), то статус “зеленый” будет висеть бесконечно долго.

Вывод: 1) нужно, что бы ЛЭРС реагировал на завершение сессии со стороны TCP клиентов. 2) пусть ЛЭРС периодически проверяет статус TCP сессии 3) если обмена данными по порту не производится, то ЛЭРС должен принимать подключения на порт (это для ситуаций, когда TCP сессия завершилась не корректно, ЛЭРС по таймауту не успел проверить сессию, а модем уже повторно пытается подключиться на этот порт).

Какая версия ЛЭРС УЧЕТ у вас установлена на текущий момент?

3.07 R24.05, сегодня обновился

Статус TCP соединения проверяется раз в минуту. Как видно в вашем случае проверка успешно проходит и соединение продолжает висеть.
Насчет отбоя повторного подключения надо выяснить как идентифицируется модем? Он заведен в системе как стандартный GPRS модем?

Да - это стандартный GPRS-модем

Далее… вот только что проверил, подключился, увидел, что ЛЭРС начал автоопрос, опрос закончился, отключился, выждал более чем одну минуту, а статус все висит “зеленым”, пытаюсь подключиться “closed”…
PollService.2017-12-14.log.7z (642 KB)
dump.3009(1).2017-12-14.log (1.36 KB)
1.jpg

Спустя 4 минуты соединение наконец-то отвалилось.

Стандартные GPRS-модемы так обрабатываются - при наличии подключения новые входящие действительно отбиваются, но логичнее, конечно, закрывать старое и открывать новое. Так, например, работают модемы с идентификацией. Такой механизм уже реализован в версии R25.

По поводу статуса. Сейчас для тестирования подключения отправляется пакет нулевой длины. Как выясняется, такой механизм работает не для всех случаев. В следующем обновлении R24.07 поменяем алгоритм проверки, должен более надёжно отслеживать разрывы связи.

Версия R25…а когда она будет доступна для обновления?

В конце прошлого месяца у нас была выпущена версия R24. Каждая новая версия у нас выпускается раз в 2 месяца. Версия R25 ориентировочно будет выпущена в феврале 2018 года.

Улучшенный механизм определения разрывов будет доступен уже в R24.07 на следующей неделе.

Все-равно не корректно работает, модема уже нет на связи давно, а статус “зеленый” и ЛЭРС так и не понял, что соединение отвалилось. А оно 100% не активно, так как в 6.01 запускается скрипт, который включает фаервол и блочит этот порт.
dump.3016(1).2017-12-22.log.7z (1.59 KB)
PollService.2017-12-22.log.7z (627 KB)
PollService_Error.2017-12-22.log.7z (21.9 KB)
4.jpg

Проверка наличия связи с модемом выполняется раз в 60 секунд.
На вашем скриншоте статус как раз неактивный, посмотрите внимательно.

Не активный, потому что я его отключил, посмотрите на длительность сессии - 4часа

Что скажите?

Мы проверяли новый алгоритм, и правильно обнаруживает разрывы связи. У вас же разрыв не определяется после блокировки порта. Возможно, что блокировка порта не приводит к разрыву связи, или не закрывает связь с уведомлением.

В вашем случае стоит дождаться выпуска R25, в котором повторные подключения GPRS-модемов будут приняты, а существующее разорвано автоматически. Это должно решить вашу задачу.