Boost websocket server c++, как отключить неактивных клиентов
Использую код из примера синхронного веб-сокет сервера библиотеки Boost https://www.boost.org/doc/libs/develop/libs/beast/example/websocket/server/sync/websocket_server_sync.cpp
Код не прикрпляю, потому что не знаю вообще как поступать
Вопрос: А что, если ко мне подключится много ботов и будут просто висеть на сервере? read -- блокируется, пока не получит сообщения.
Я пытался решить проблему так: заносил указатели на подключенные вебсокеты в map с меткой по времени. Из отдельного потока пробегался по этому массиву и закрывал "неактивные" соединения, но заблокированный read в потоке чтения вместо исключения кидает assert.
Есть ли какой-то способ сделать тайм-аут по ожиданию сообщения от клиента? И вообще как в таких ситуациях поступают?