Мне дали 10 новых ПК, все (предположительно) с Windows 7 Pro, недавно установленными и ничего не сделанное с ними.
У меня есть программа, закодированная в Delphi XE2, с использованием компонентов Indy 10 для сети. Я установил свойства "Время ожидания подключения" и "Тайм-аут" для моего TIdTcpCleint до 500 мс, установил "розетка розлива" в "зависимый от o/s" (я также попробовал построить с ним значение "Нет" ) и оставить "использовать Nagle", (независимо от того, что установлено в True (я также пытался с ложным).
Здесь проблема: когда я запускаю тот же .EXE на этих ПК и тестирую случай, когда я вытаскиваю сетевой кабель, моя трассировка отладки показывает, что тайм-аут попытки подключения/подключения происходит в течение той же секунды или следующей секунды (с гранулярность 1 секунда), но в других случаях это 20 или 21 секунда, прежде чем я увижу тайм-аут конденсации.
Казалось бы, некоторые из них не являются полностью "свежими", как утверждают, ПК, хотя я не вижу установленных aps. Возможно, кто-то установил somethign, а затем удалил его, возможно, они попытались настроить производительность.
Прежде чем переустанавливать Windows на 10 ПК, может ли кто-нибудь предложить, где искать? 20 (или 21) секунды звонят в колокольчик в отношении тайм-аута подключения TCP-клиента?
[обновление] Я пытаюсь подключиться непосредственно к определенному IP-адресу, поэтому я не уверен, что предложение @Nikolai для проверки DNS имеет значение. Извините, что не упоминал об этом изначально.
[upperdate] программа не пытается открыть сокет. Он соединяет, отправляет некоторые данные и разъединяет - многократно, для каждой новой части данных.