Будет ли HttpAsyncClient автоматически перезапускать соединения, если они потеряны или истекло время ожидания?
Я привыкаю к понятию "запустить" клиента для HttpAsyncClient
, Я просматривал примеры баз кода и вижу, что клиент запускается и "работает" в фоновом режиме, и в будущем клиент может быть использован для GET
запросы и т. д. Теперь у меня есть несколько разъяснений для операций:
- Как это
soTimeout
или жеconnectTimeout
отличаются от таймаутов отGET
запрос? Я понимаю, чтоsoTimeout
происходит, когда сам сокет не получает данные в течение указанного периода времени, и выдает исключение, если это не так. В настоящее время у меня есть приложение, которое работает "навсегда", и я буду периодически делать HTTP-запросы. Однако, если я настроюsoTimeout
Насколько я понимаю, поскольку возникает исключение, не будет предпринято никаких попыток восстановить соединение. - Я не должен подать
soTimeout
возможно ли получение данных в неизвестные сроки? Я не хочу, чтобы приложение просто зависало, если данные не были получены в течение некоторого времени. - "Клиент" автоматически обрабатывает повторное использование соединений (с
HTTP Keep-Alive
) чтобы не переинициализировать TCP-соединения постоянно (если я делаю много запросов)?