Opened 5 years ago

Closed 5 years ago

#26 closed улучшение (fixed)

Добавить таймер неактивности (бездействия) соединения

Reported by: alx Owned by: alx
Priority: major Milestone: 1 очередь
Keywords: Cc:

Description

В сценариях, где клиенты устанавливают соединения с сервером, а затем с сервера к клиентам передаются запросы (а от клиента ответы), возможна ситуация, когда сервер "забыл" соединения (например сервер был перезагружен из-за пропадания питания), а на стороне клиентов соединения по-прежнему существуют. В результате сервер ничего не передает клиентам, а соединения у клиентов могут оставаться установленными продолжительное время.

Для решения этой проблемы предлагается на стороне клиента устанавливать конфигурируемый таймер неактивности. Этот таймер должен перезапускаться каждый раз, когда со стороны сервера поступают какие-то данные. Если таймер истекает, существующее соединение разрывается. Предполагается, что в процессе нормальной работы клиент периодически получает запросы со стороны сервера, и таймер никогда не истекает. Если же сервер перезагрузился и "забыл" о соединениях, данные клиентам поступать перестанут, таймер истечет и соединения разорвутся, что в конечном итоге приведет к установке нового соединения.

Change History (3)

comment:1 by alx, 5 years ago

Summary: Добавить таймер "живости" соединенияДобавить таймер неактивности (бездействия) соединения

comment:2 by alx, 5 years ago

Owner: set to alx
Status: newaccepted

comment:3 by alx, 5 years ago

Resolution: fixed
Status: acceptedclosed

In 114/smartCrypto:

Добавлены таймеры неактивности для каждого из последовательных портов.
Таймер запускается при установке исходящего или приеме входящего соединения.
При каждом получении данных от удаленной стороны соединения таймер перезапускается.
Если таймер истек (долго не приходили данные от удаленной стороны), соединение разрывается.
В веб-интерфейсе в диалоге конфигурации добавлена настройка величины таймаута. Closes #26.

Note: See TracTickets for help on using tickets.