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.

Есть ли какой-то способ сделать тайм-аут по ожиданию сообщения от клиента? И вообще как в таких ситуациях поступают?


Ответы (0 шт):