LINUX.ORG.RU

Таймер для keepalive на java.nio

 ,


0

1

Привет.

ПО написано на java с использованием nio на стороне сервера. Однопоточная работа с несколькоми соединениями. Хочу посылать по некоторым соединениям сообщение keepalive (ну понятно, что бы соединение не протухло). Как лучше добавить таймер?

В идеале, я бы хотел зарегистрировать в селекторе некий канал, который просыпается через указанный интервал и разблокирует selector.select(). Ну, как обычный SocketChannel, когда на нем есть данные для чтения, например, только здесь будет MyTimerChannel. Такое есть уже готовое, и я не туда смотрю? Или придется костылить extends AbstractSelectableChannel? Может, лучшее решение?

Deleted

Можно Selector сделать с тайм-аутом и по выходу проверять кому пора слать keep alive.

maxcom ★★★★★
()
Ответ на: комментарий от maxcom

Да, видимо так и сделаю: селект с таймаутом + проверка на таймаут при любом разблокировании селекта

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.