我正在使用 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(Samsung Galaxy Gio)和最新的 Android 版本上运行,但根据以下帖子(和 developer.android):
https://stackoverflow.com/questions/15606791/android-httppost-freezes-and-crashes-app
如果网络部分不在单独的线程中,则会在最新的 Android 版本(Honeycomb 或更高版本)上引发 NetworkOnMainThreadException。我还没有创建一个新线程,所以我的问题是:
谁能确认我的假设,即它已经实现/自动使用 Poco Net 库中的新线程?
非常感谢帮助!