Call.cancel() 行为说明
Call.cancel() behavior clarification
目前在okhttp 3.10.0,如果我们执行下面的代码:
for (Call call : getOkHttpClient().dispatcher().runningCalls()) {
if (call.request().tag().equals(tag)) {
call.cancel();
}
}
真正的连接(套接字)将被关闭,有没有办法在不关闭底层连接(套接字)的情况下直接挂断电话?以便将来对同一服务器的请求可以重用底层连接(套接字)。
此取消的目的仅仅是为了节省一些带宽,同时仍然能够重新使用连接并避免重新建立连接。
HTTP/2 个连接未关闭套接字。 HTTP/1.1 缺少在不丢失连接的情况下取消呼叫的机制。
目前在okhttp 3.10.0,如果我们执行下面的代码:
for (Call call : getOkHttpClient().dispatcher().runningCalls()) {
if (call.request().tag().equals(tag)) {
call.cancel();
}
}
真正的连接(套接字)将被关闭,有没有办法在不关闭底层连接(套接字)的情况下直接挂断电话?以便将来对同一服务器的请求可以重用底层连接(套接字)。
此取消的目的仅仅是为了节省一些带宽,同时仍然能够重新使用连接并避免重新建立连接。
HTTP/2 个连接未关闭套接字。 HTTP/1.1 缺少在不丢失连接的情况下取消呼叫的机制。