博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android http连接阻塞超时问题
阅读量:6829 次
发布时间:2019-06-26

本文共 1361 字,大约阅读时间需要 4 分钟。

hot3.png

android http连接通常使用方式

URL url = new URL(path);		HttpURLConnection conn = null;		try {			conn = (HttpURLConnection) url.openConnection();			conn.setConnectTimeout(3000);			conn.setReadTimeout(3000);		} catch (IOException e) {			Log.e(TAG, "openConnection() failed! url = " + url);			e.printStackTrace();			return false;		}		try {			conn.setRequestMethod("GET");			if (conn.getResponseCode() == 200) {				InputStream xmlStream = conn.getInputStream();				parserStates(xmlStream);			} else {				Log.e(TAG,						"RequestMethod failed! code = "								+ conn.getResponseCode());			}		} catch (ConnectTimeoutException e) {			return false;		} catch (IOException e) {			e.printStackTrace();			return false;		}		if (conn != null) {			conn.disconnect();		}

在设置超时时间的方法中,设置超时的时间3000,在阻塞的getResponseCode方法中时间不准。

这样采取org.apache.http.client.HttpClient方法

HttpParams httpParameters = new BasicHttpParams();HttpConnectionParams.setConnectionTimeout(httpParameters, 500);HttpConnectionParams.setSoTimeout(httpParameters, 500);HttpGet httpget = new HttpGet(updateUrl.toURI());DefaultHttpClient httpClient = new DefaultHttpClient();httpClient.setParams(httpParameters);HttpResponse response = httpClient.execute(httpget);HttpEntity entity = response.getEntity();InputStream is = entity.getContent();//download file.....
这种方法可以准备的计算阻塞时间

转载于:https://my.oschina.net/u/175078/blog/119199

你可能感兴趣的文章
微信公众平台开发 - 基础篇
查看>>
WinForm更新文件
查看>>
setprecision **fixed
查看>>
JVM系列五:JVM监测&工具[整理中]
查看>>
JZ-C-38
查看>>
智力题-困难型
查看>>
libdvbpsi源码分析(一)架构分析
查看>>
局部自适应自动色阶/对比度算法在图像增强上的应用。
查看>>
CMD命令
查看>>
Spring中@Autowired与@Resource的区别
查看>>
Python 学习笔记 -- 类和实例
查看>>
Android 静默安装/后台安装
查看>>
java 非空判断类
查看>>
【html5】如何让Canvas标签自适应设备
查看>>
今日SGU 5.15
查看>>
PHPStorm常用快捷键
查看>>
spring boot集成redis和mongodb实现计步排名
查看>>
js事件冒泡机制
查看>>
计算器(第一版)
查看>>
laravel中通过查询构造器,实现数据的curd
查看>>