Call.cancel () разъяснение поведения - PullRequest
0 голосов
/ 02 сентября 2018

В данный момент в охттп 3.10.0, если мы выполним следующий код:

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

Реальное соединение (сокет) будет закрыто, есть ли способ просто отбросить вызов, не закрывая базовое соединение (сокет)? Так что базовое соединение (сокет) может быть повторно использовано будущими запросами к тому же серверу.

Цель этой отмены - просто сохранить некоторую полосу пропускания, сохраняя при этом возможность повторного использования соединения и избежать повторного установления соединения.

1 Ответ

0 голосов
/ 02 сентября 2018

Сокет не закрыт для соединений HTTP / 2. В HTTP / 1.1 отсутствует механизм для отмены вызова без потери соединения.

...