关于HTTP请求中断问题

手机开发时侯,我们访问网络数据,经常因为各种原因会导致网络缓慢或者失去连接

这时候,由于HttpConnection.getResponseCode()请求是阻塞的,我们的程序一般是单独线程去请求数据,该线程就会永远的等在那,并且事后即使连上了,接收到的数据一般都已经是我们抛弃的了.此时我们很想在请求超时的时侯将这个阻塞的请求异步关闭它,但是这样是无法实现的.

一种方法是,我们直接用Connector.open的超时参数

另一种方法我们自己控制,在后面接收数据的时侯中断掉.

1 我们给HTTP请求线程封装上计时器

2 在接收数据时侯,避免一个大byte[]读完,而是while循环读取固定大小的块

3 在while读取数据时候,加入判断超时条件

这样一来,如果是已经过时的数据,我们即使接到请求相应了,但是我们不必去接收它的数据,一来节省资源,而来为用户节省流量.


 

 

 

转载于:https://www.cnblogs.com/SQL/archive/2010/10/27/1862778.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值