Я работаю на 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
не помогли мне.