POCO HttpClient中的多个线程?

时间:2013-04-17 08:09:03

标签: networking poco-libraries

我正在使用POCO / NET开发C ++项目。网络代码如下所示:

URI uri("http://my.url.se" );
HTTPClientSession session(uri.getHost(), uri.getPort());

// prepare path
string path(uri.getPathAndQuery());
if (path. empty()) path = "/";

// send request
HTTPRequest req(HTTPRequest::HTTP_GET, path, HTTPMessage::HTTP_1_1);
req.set("Accept", "AcceptString");
req.set("Consumer", "ALL");
req.set("Contract", "ALL");
session.sendRequest(req);

// recieve response

HTTPResponse res;
istream &is = session.receiveResponse(res); 

该应用程序正在使用Android 2.3.6(三星Galaxy Gio)和最新的Android版本,但根据以下帖子(和developer.android):

https://stackoverflow.com/questions/15606791/android-httppost-freezes-and-crashes-app

如果Networking部分不在单独的线程中,则会在最新的Android版本(Honeycomb或更高版本)上抛出NetworkOnMainThreadException。我还没有创建新帖子,所以我的问题是:

任何人都可以确认我的假设已经实现/自动使用Poco Net库中的新线程吗?

很乐意提供帮助!

1 个答案:

答案 0 :(得分:2)

  

任何人都可以确认我已经实施的假设   已经/自动使用Poco Net库中的新线程?

HTTPClientSession不会在单独的线程上运行,您必须明确地执行此操作。您可以使用Poco :: ThreadTaskActivity