Я не могу сказать вам, как я благодарен за Javadoc - это действительно просто настроить в комментариях. Так что это как минимум один смысл, в котором комментарии полезны.
К сожалению, нет способа (о котором я знаю) изменить этот тайм-аут в Windows API на стороне клиента. Лучшее, что вы можете сделать, это отредактировать реестр, чтобы изменить продолжительность тайм-аутов в DNS-запросах. Подробнее см. в этой технической статье . Насколько мне известно, попытки 1, 2 и 3 выполняются, когда вы это делаете, отсюда и 5-секундная задержка.
Единственный другой вариант - использовать некоторую форму фоновой обработки, например эту асинхронную версию ] обратного поиска в DNS. Тем не менее, здесь будет использоваться многопоточность, поэтому вы в конечном итоге столкнетесь с тайм-аутами (так будет лучше, так как это будет во многих ожидающих потоках, но все же не идеально). Лично, если вы собираетесь обрабатывать огромное количество, я d смешайте оба подхода - выполните обратный поиск синхронно и измените реестр, чтобы сократить время ожидания.
Редактировать после комментариев:
Если вы посмотрите на флаги на getnameinfo , есть параметр flags . Я считаю, что вы можете использовать P / Invoke и установить флаги NI_NAMEREQD | NI_NUMERICHOST
, чтобы получить желаемое поведение. (Первый говорит об ошибке немедленно, если нет записи DNS, что помогает сократить время ожидания - второй говорит, что нужно выполнить обратный поиск.)