从Android应用程序向外部服务器发送HTTP请求时重用DefaultHTTPClient
的优缺点是什么?我在定期DefaultHTTPClient
请求时尝试重用HTTPGet
,但我得到随机套接字超时(特别是在使用3G时)。
我的代码如下所示:
public class MyHTTPSender {
private DefaultHTTPClient mClient;
public MyHTTPSender() {
mClient = new DefaultHTTPClient();
}
public void send(String httpAddress) {
HttpGet get = new HttpGet(this.surrogateURL);
HttpResponse response = null;
try {
response = httpClient.execute(get);
// ... consume entity if OK
} catch (Exception e) {
} finally {
if (response != null) {
// do some sanity checks to ensure Entity is there!
response.getEntity().consumeContent();
}
}
}
}
我看不出我在做什么有什么问题。我有一个单独的处理程序来发出HTTPPost请求,并且运行得很好(使用不同的DefaultHTTPClient对象)。
有什么建议吗?
答案 0 :(得分:1)
你在哪个API级别?
如果你在8岁或以上,你可以考虑尝试AndroidHttpClient,这可能会有更好的套接字超时指定。
否则,您可能会检查如何创建DefaultHttpClient
并尝试指定更长的超时时间。