Android中OkHttp3中超时时间概述

目录

前言

可以看到,使用还是很简单的。主要相关的有这五个参数,其中我们常用到是就是connectTimeout、readTimeout和writeTimeout。

再看上图,可以看到默认下connectTimeout、readTimeout和writeTimeout都是10s,而其他两个默认是0。

connectTimeout

建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间。

防止客户端无限期地等待与服务器的连接。

readTimeout

从服务器接收到响应开始,到读取完所有响应数据的时间。

防止客户端在读取响应数据时因服务器发送数据过慢而长时间等待。

writeTimeout

客户端发送请求数据到服务器的时间。

确保客户端在发送请求数据时不会因网络问题或服务器接收数据过慢而无限期地等待。

callTimeout

这个值从调用call.execute()和enqueue()这两个方法开始计时,时间到后网络还未请求完成将调用cancel();

整个HTTP请求流程(包括连接、写入、读取等)所允许的最大时间。

pingInterval

没用过,和WebSocket有关。

拓展

其实我们还可以在拦截器里面动态设置超时,可以对某些url进行划分。另外,针对某些资源的获取如callTimeout的的设置会有一些问题。这里就不介绍了。

相关推荐
weixin_451431564 分钟前
【学习笔记】微博视频页面ajax请求与响应数据分析
笔记·学习·音视频
清辞8531 小时前
尾盘选股法程序开发学习初期
学习
Century_Dragon1 小时前
让实训“活”起来——信息化综合实训考核平台助力汽车专业教学
学习
nashane2 小时前
HarmonyOS 6学习:PanGesture手势驱动月亮半圆轨迹“滚动”术
学习·harmonyos 5
叶~小兮3 小时前
K8S进阶核心综合学习笔记(持久化存储+特殊容器+调度管理)
笔记·学习·kubernetes
li星野3 小时前
位运算 & 数学 & 高频进阶九题通关(Python + C++)
c++·python·学习·算法
阿巴斯甜3 小时前
launch 和 async 内部都是串行,为什么还能实现并发?
kotlin
shaoming37764 小时前
浏览器动作开发:地址栏图标点击事件、弹出页面设计
android·mysql·adb
古怪今人4 小时前
Gradle构建工具 Groovy/Kotlin DSL的现代化自动化构建工具
开发语言·kotlin·自动化
赏金术士4 小时前
Kotlin 协程与挂起函数(Coroutines & suspend)入门到实战
android·开发语言·kotlin