У меня проблема с библиотекой, которую я использую. Это может быть библиотека или я неправильно ее использую!
Обычно, когда я это делаю (Тайм-аут в миллисекундах)
_ignitedHttp.setConnectionTimeout(1); // v short
_ignitedHttp.setSocketTimeout(60000); // 60 seconds
Исключение тайм-аута не создается, и он работает нормально, однако, когда я делаю следующее,
_ignitedHttp.setConnectionTimeout(60000); // 60 seconds
_ignitedHttp.setSocketTimeout(1); // v short
Я получаю исключение сокета.
Итак, мой вопрос: почему я не могу имитировать исключение подключения? Я неправильно понимаю разницу между сокетом и тайм-аутом соединения? Библиотека здесь (официально еще не выпущена).
источник
Тайм - аут соединения максимальное количество времени , что программа готова ждать , чтобы установить соединение с другим процессом. На этом этапе вы не получаете и не публикуете данные приложения, а просто устанавливаете само соединение.
Тайм - аут сокета является тайм - аут во время ожидания для отдельных пакетов. Распространенное заблуждение, что тайм-аут сокета - это тайм-аут для получения полного ответа. Таким образом, если у вас есть тайм-аут сокета в 1 секунду и ответ состоит из 3 IP-пакетов, где каждый ответный пакет доставляется через 0,9 секунды, при общем времени ответа 2,7 секунды, то тайм-аута не будет.
источник