Apache HTTP - setSocketTimout vs setConnectTimout vs setConnectionRequestTimeout

В чем разница между setSocketTimout, setConnectTimout и setConnectionRequestTimeout?

RequestConfig requestConfig = RequestConfig.copy(RequestConfig.DEFAULT)
            .setSocketTimeout(500)
            .setConnectTimeout(500)
            .setConnectionRequestTimeout(500)
            .build();

Ответ 1

Connection timeout - это таймаут, пока не будет установлено соединение с сервером.

Socket timeout - это время ожидания приема данных.

Однако метод setConnectionRequestTimeout специфичен для настройки диспетчера соединений. Он возвращает тайм-аут в миллисекундах, используемый при запросе соединения из диспетчера подключений. Значение тайм-аута, равное нулю, интерпретируется как бесконечный тайм-аут.

Ответ 2

ConnectTimeOut. - Указывает максимальное время в миллисекундах. Клиент будет ждать установления соединения с сервером. В течение времени, когда сервер должен установить соединение с клиентом, он выдает исключение.

SocketTimeout: - Он определяет максимальное время простоя/неактивности в миллисекундах между двумя последовательными пакетами данных.

обратитесь к javadocs для более подробной информации