Будет ли HttpAsyncClient автоматически перезапускать соединения, если они потеряны или истекло время ожидания?

Я привыкаю к ​​понятию "запустить" клиента для HttpAsyncClient, Я просматривал примеры баз кода и вижу, что клиент запускается и "работает" в фоновом режиме, и в будущем клиент может быть использован для GET запросы и т. д. Теперь у меня есть несколько разъяснений для операций:

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

0 ответов

Другие вопросы по тегам