SpringBoot Java后端实现okhttp3超时设置的方法实例

网友投稿 1151 2022-12-01

SpringBoot Java后端实现okhttp3超时设置的方法实例

SpringBoot Java后端实现okhttp3超时设置的方法实例

目录前言导入okhttp3方法简介两种版本超时设置用法总结

前言

okhttp是一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司开发。OkHttp 是一个默认高效的 HTTP 客户端。OkHttp3是java和android都能用,Android还有一个著名网络库叫Volley,那个只有Android能用。

okttp3的github官方地址是:官方地址

HTTP/2 支持允许对同一主机的所有请求共享一个套接字。

连接池减少了请求延迟(如果 HTTP/2 不可用)。

透明 GZIP 可缩小-大小。

响应缓存完全避免网络重复请求。

OkHttp在网络出现问题时坚持:它会从常见的连接问题中默默恢复。如果您的服务有多个 IP 地址,如果第一次连接失败,OkHttp将尝试备用地址。这对于在冗余数据中心托管的 IPv4+IPv6 和服务是必需的。OkHttp 支持现代 TLS 功能(TLS1.3、ALPN、证书锁定)。它可以配置为回退以实现广泛的连接。

使用 OkHttp 很容易。它的请求/响应 API 设计有流畅的构建器和不变性。它支持同步阻塞调用和带有回调的异步调用。

导入

maven

com.squareup.okhttp3

okhttp

4.2.2

gradle方式

compile 'com.squareup.okhttp3:okhttp:4.2.2'

okhttp3方法简介

一共可以设置5个超时时间分别如下:关于OkHttp的超时时间

OkHttpClient client = new OkHttpClient.Builder()

.connectTimeout(30, TimeUnit.SECONDS)//连接超时(单位:秒)

.callTimeout(120, TimeUnit.SECONDS)//整个流程耗费的超时时间(单位:秒)--很少人使用

.pingInterval(5, TimeUnit.SECONDS)//websocket轮训间隔(单位:秒)

.readTimeout(60, TimeUnit.SECONDS)//读取超时(单http://位:秒)

.writeTimeout(60, TimeUnit.SECONDS)//写入超时(单位:秒)

.build();

api

描述

生效机制

callTimeout()

整个流程耗费的超时时间

AsyncTimeout + WatchDog实现

connectTimeout()

三次握手 + SSL建立耗时

socket.connect(address, connectTimeout)

readTimeout()

source读取耗时\rawSocket读取耗时

source.timeout(readTimeout)AsyncTimeout + WatchDog实现\rawSocket.setSoTimeout(readTimeout)

writeTimeout()

sink写入耗时

sink.timeout(writeTimeout)AsyncTimeout + WatchDog实现

pingInterval()

websocket轮训间隔(单位:秒)

这个值只有http2和webSocket中有使用

两种版本超时设置用法

okhttp3要设置client.Builder

OkHttpClient client = new OkHttpClient.Builder()

.connectTimeout(15, TimeUnit.SECONDS)

.readTimeout(15,TimeUnit.SECONDS)

.writeTimehttp://out(15,TimeUnit.SECONDS)

.build();

以前的版本设置client

client .connectTimeout(15, TimeUnit.SECONDShttp://)

.readTimeout(15,TimeUnit.SECONDS)

.writeTimeout(15,TimeUnit.SECONDS)

总结

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:系统动力学软件vensim学习之lookup
下一篇:系统动力学软件vensim学习之一阶负反馈
相关文章

 发表评论

暂时没有评论,来抢沙发吧~