网络通信

1.okhttp

okhttp是一个高效的HTTP客户端,具有如下特性:

(1)支持HTTP/2和SPDY,对同一台主机的所有请求共享同一个socket。

(2)当SPDY不可用的时候,使用连接池来减少请求的延迟。

(3)透明的GZIP压缩减少下载数据大小。

(4)缓存响应避免重复的网络请求。

OKhttp在网络性能很差的情况下都能够很好的工作,它能够避免常见的网络连接问题。如果你的HTTP服务有多个IP地址,OKHttp在第一次连接失败时,会尝试其他可选的地址。这对于IPv4+IPV6以及托管在冗余数据中心的服务来说是必要的。OKHttp使用现代的TLS特性(SNI,ALPN)初始化HTTP连接,当握手失败时,会降级使用TSL1.0尝试初始化连接。

OKHttp依赖于okio,okio作为java.io和java.nio得补充,是square公司开发的一个函数库。okio使得开发者可以方便地访问,存储和处理数据。一开始作为OKHttp的一个组件存在的,我们也可以单独使用它。

2.Retrofit

确切来说,Retrofit并不是一个完整的网络请求函数库,而是将REST  API转换成Java接口的一个开源函数库,它要求服务器API接口遵循REST规范,基于注解使得代码变得很简洁,retrofit默认情况下使用GSON作为JSON解析器,使用okhttp完成网络请求,三者通常配合使用。当然我们也可以将这两者替换成其他函数库。

HttpURLConnection,Apache HttpClient和okhttpf封装了底层的网络请求,而Android-async-http,volley 和Retrofit是基于前面三者的基础上二次开发而成。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值