Poco :: Net HTTPServer: Как обнаружить отключенных клиентов? - PullRequest
0 голосов
/ 15 февраля 2019

Я работаю на http-сервере как часть моего приложения C ++, основанного на Poco :: Net HTTP.Это довольно просто, используя Poco::Net::HTTPServer, затем подкласс Poco::Net::HTTPRequestHandler, реализующий void handleRequest(Poco::Net::HTTPServerRequest &req, Poco::Net::HTTPServerResponse &resp).В этом методе процессы могут занимать много времени, а в некоторых ситуациях даже могут выполняться бесконечно.

Браузеры используют этот сервер из веб-приложения, по запросам ajax (XMLHttpRequest), а иногда и abort()эти запросы (который закрывает соединение?!).

Как я могу обнаружить эту ситуацию внутри handleRequest(...), чтобы остановить обработку?

Кстати: мне буквально нужен этот поток вещей.Рекомендации относительно различных, возможно асинхронных способов, например передачи данных, не будут работать.Если Poco не может этого сделать, я должен заменить его.

Ни документация, ни некоторые эксперименты с Poco::Net::HTTPServerRequest и Poco::Net::HTTPServerResponse не помогли мне.

...