示例代码:
HttpUtils https = new HttpUtils();
https.configCurrentHttpCacheExpiry(1000 * 10);// 超时时间 Long配置当前Http缓存到期
// 设置超时时间
https.configTimeout(10 * 1000);// 连接超时 //指的是连接一个url的连接等待时间。
https.configSoTimeout(10 * 1000);// 获取数据超时 //指的是连接上一个url,获取response的返回等待时间
RequestParams params = new RequestParams();
params.addBodyParameter(new BasicNameValuePair("d", did));
params.addBodyParameter(new BasicNameValuePair("e", e));
https.send(HttpRequest.HttpMethod.POST,
MyApp.getInstance().SENDDID_URL, params,
new RequestCallBack<String>() {
@Override
public void onStart() {
Log.e("Start", "conn...");
}
@Override
public void onLoading(long total, long current,
boolean isUploading) {
if (isUploading) {
Log.e("Loading", "upload: " + current + "/" + total);
} else {
Log.e("Loading", "reply: " + current + "/" + total);
}
}
@Override
public void onFailure(HttpException error, String msg) {
// TODO Auto-generated method stub
Log.e("error", error.getExceptionCode() + ":" + msg);
}
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
// TODO Auto-generated method stub
UpdateResponse response = new Gson().fromJson(
responseInfo.result, UpdateResponse.class);
String code = response.getEc().trim();
String msg = response.getEm();
Log.e("getTrust3", code + "==" + msg + "=jsonString:"
+ responseInfo.result);
if (code.equals("0")) {
} else {
}
}
});
简单总结为:连接时间超时connectionTimeout和读取数据超时soTimeout
我使用的场景是在android的开源框架Xutils中使用的
http.configTimeout(XXXX)
http.configSoTimeout(XXXX)
https.configCurrentHttpCacheExpiry(1000 * 10);