我想知道OkHttp中的connectTimeout是如何工作的。我发现的documentation不太明确:The connect timeout is applied when connecting a TCP socket to the target host.
这是否意味着建立TCP连接的时间不能超过此超时时间?还是swift中的情况,超时的行为如下:If during a connection attempt the request remains idle for longer than the timeout interval, the request is considered to have timed out.
(因此只要取得了进展,建立连接的总时间是无限的)
需要时提供的上下文:
我们已替换了Http Client实现。现在,我们在连接阶段遇到了一些超时,之前该阶段运行良好。我很确定原因是应用超时值时行为上的差异。旧的Android代码如下所示:
mOkHttpClient
.newBuilder()
.connectTimeout(timeout.toLong(), TimeUnit.SECONDS)
.readTimeout(timeout.toLong(), TimeUnit.SECONDS)
.writeTimeout(timeout.toLong(), TimeUnit.SECONDS)
.build()
为了模仿旧的行为,我需要先了解它。