Я использую библиотеки Poco C++ для установки сервера websocket, с помощью которого клиенты могут подключаться и передавать некоторые данные на свой веб-интерфейс. Поэтому у меня есть цикл, который непрерывно отправляет данные, и я также хочу слушать, закрывает ли клиент соединение с помощью функции receiveFrame(), а для остальных клиент полностью пассивен и не отправляет никаких данных или вообще ничего. Проблема в том, что receiveFrame() блокирует соединение, чего я не хочу. Я в основном хочу проверить, не вызвал ли клиент еще функцию javascript close() и прекратил передачу данных, если это имеет место. Я попытался использоватьPoco C++ websockets - как использовать неблокирующий способ?
ws.setBlocking(false);
Но теперь receiveFrame вызывает исключение каждый раз, когда он вызывается. Я также попытался полностью удалить getFrame, который работает, если соединение завершено закрытием браузера, но если клиент вызывает функцию close(), сервер по-прежнему пытается отправить данные клиенту. Так как я могу снять это? Есть ли способ проверить, есть ли клиентские фреймы, и если не продолжать?
Select() действительно то, чего я хочу достичь, спасибо! – SilverTear