Call.cancel()行为说明

时间:2018-09-01 22:32:20

标签: okhttp okhttp3

当前在okhttp 3.10.0中,如果我们执行以下代码:

for (Call call : getOkHttpClient().dispatcher().runningCalls()) {
    if (call.request().tag().equals(tag)) {
        call.cancel();
    }
}

真正的连接(套接字)将被关闭,有没有一种方法可以在不关闭基础连接(套接字)的情况下仅丢弃呼叫?这样基础连接(套接字)便可以在以后对同一服务器的请求中重新使用。

此取消的目的仅仅是节省一些带宽,同时仍然能够重用连接并避免重新建立连接。

1 个答案:

答案 0 :(得分:1)

对于HTTP / 2连接,套接字未关闭。 HTTP / 1.1缺少取消呼叫而不丢失连接的机制。