从Poco HTTPClientSession读取异步

Avi*_*hek 8 c++ asynchronous http nonblocking poco-libraries

使用HTTPClientSession的常用示例代码如下所示:

Poco::Net::HTTPClientSession session(uri.getHost(), uri.getPort());
std::ostream& ostr = session.sendRequest(req);

// Receive the response.
Poco::Net::HTTPResponse res;
std::istream& rs = session.receiveResponse(res);
Run Code Online (Sandbox Code Playgroud)

问题是,如何从rs输入流中读取整个数据,同时确保所有操作都是非阻塞的,以便我可以随时取消它们?

Ces*_*tiz 2

只是一个想法,尝试将代码放入线程中。

http://pocoproject.org/slides/130-Threads.pdf

问候

  • 您可以通过从另一个线程调用 HTTPClientSession::abort() 来中止 HTTPClientSession 上的阻塞读取。 (3认同)