Android中OkHttp3中超时时间概述

目录

前言

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

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

connectTimeout

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

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

readTimeout

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

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

writeTimeout

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

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

callTimeout

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

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

pingInterval

没用过,和WebSocket有关。

拓展

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

相关推荐
蹦哒8 分钟前
Kotlin DSL 风格编程详解
android·开发语言·kotlin
野指针YZZ12 分钟前
XV6操作系统:proc机制学习笔记
笔记·学习
把csdn当日记本的菜鸡21 分钟前
Vue3 响应式 API 简单学习
javascript·vue.js·学习
weixin_1562415757624 分钟前
基于django外语学习系统
学习
小小的代码里面挖呀挖呀挖29 分钟前
恒玄BES蓝牙耳机开发--IIC接口应用
笔记·单片机·物联网·学习·iot
fetasty42 分钟前
chroot的Linux服务配置-当云服务器真正用起来
android·linux·服务器
Digitally1 小时前
5 种在安卓手机 / 平板与电脑间同步音乐的方法
android
野生技术架构师1 小时前
一个简单SQL的深度解析
android·数据库·sql
zh_xuan1 小时前
Android SharedFlow实现事件总线
android·sharedflow
坏小虎1 小时前
Expo 快速创建 Android/iOS 应用开发指南
android·ios·rn·expo