[发明专利]一种Android上http请求失败的处理方法有效
申请号: | 201711298577.5 | 申请日: | 2017-12-08 |
公开(公告)号: | CN107948303B | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 王旭东 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06 |
代理公司: | 北京国标律师事务所 11753 | 代理人: | 姚克枫 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android http 请求 失败 处理 方法 | ||
本发明涉及一种Android上http请求失败的处理方法,在出现http请求失败时,进行下述请求异常处理:缓存http请求失败返回的请求异常信息,根据响应失败的host和预设的IP,发送UDP请求,获取响应host的对应的TCP代理服务的IP和端口号,基于TCP代理服务的IP和端口号,创建Socket对象,通过创建的Socket对象,再次进行二次TCP连接尝试。本发明,针对HTTP请求失败进行优化,尝试获取正确的数据,而不是直接抛出(返回)请求异常,尽最大可能保证客户端的正常使用,提高用户的使用体验。
技术领域
本发明涉及http请求处理技术领域,具体说是一种Android上http请求失败的处理方法。http请求失败指http网络请求失败,包括但不限于http的post请求失败。
背景技术
现有的Android系统,网络请求是Android客户端很重要的部分,一般是通过http网络请求进行网络连接。
http协议:超文本传输协议,对应于应用层,用于如何封装数据。
TCP/UDP协议:传输控制协议,对应于传输层,主要解决数据在网络中的传输。
TCP连接包括三次握手,握手过程中并不传输数据,在握手后服务器与客户端才开始传输数据,理想状态下,TCP连接一旦建立,在通讯双方中的任何一方主动断开连接之前,TCP连接会一直保持下去。
IP协议:对应于网络层,同样解决数据在网络中的传输。
传输数据的时候只使用TCP/IP协议(传输层),如果没有应用层来识别数据内容,传输后的协议都是无用的。
应用层协议很多ftp,http,telnet等,可以自己定义应用层协议。
web使用http作传输层协议,以封装http文本信息,然后使用TCP/IP做传输层协议,将数据发送到网络上。
Socket是对TCP/IP协议的封装,其只是个接口不是协议,通过Socket我们才能使用TCP/IP协议,除了TCP,也可以使用UDP协议来传递数据。
Socket连接,至少需要一对套接字,分为clientSocket,serverSocket。具体的连接过程分为3个步骤:
(1) 服务器监听:服务器并不定位具体客户端套接字,而是时刻处于监听状态;
(2) 客户端请求:客户端套接字要描述它要连接的服务器套接字,提供地址和端口号,然后向服务器套接字提出连接请求;
(3) 连接确认:当服务器套接字收到客户端套接字发来的请求后,就响应客户端套接字的请求,并建立一个新的线程,把服务器套接字的描述发给客户端。一旦客户端确认了此描述,就正式建立连接。而服务器套接字继续处于监听状态,继续接收其他客户端套接字的连接请求。
创建Socket连接的时候,可以指定传输层协议,可以是TCP或者UDP,当用TCP协议则该Socket就是个TCP连接,反之,当用UDP协议则该Socket就是个UDP连接。
在Android开发中,在不同的地区可能遇到一个http请求失败从而发生请求异常,这样就无法获取正确的数据,客户端就无法正常的显示,进而影响到用户的使用体验。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种Android上http请求失败的处理方法,针对HTTP请求失败进行优化,尝试获取正确的数据,而不是直接抛出(返回)请求异常,尽最大可能保证客户端的正常使用,提高用户的使用体验。
为达到以上目的,本发明采取的技术方案是:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711298577.5/2.html,转载请声明来源钻瓜专利网。