Мне нужно подключиться к устройству в локальной сети, используя соединение TCP / IP.Когда я использую TIdTCPClient, все работает хорошо, кроме одной вещи:
Если соединение недоступно, пройдет около 18-20 секунд, прежде чем я получу тайм-аут.Свойство ConnectTimeout не оказывает никакого влияния, независимо от того, какие значения я установил.До истечения времени ожидания всегда одинаковое количество времени.
В этом ответе упоминаются длительные времена задержки для времени ожидания, и мне интересно, связано ли это с компонентами Indy?
Я должен выяснить, не может ли соединение быть установлено очень быстро, скажем, не более чем за 1 секунду.
Есть ли способ сделать это с помощью Indy, или мне нужно использовать разные компоненты / aдругой подход?
(я использую версию Indy 10, поставляемую с Delphi 2009)
EDIT :
Я следовал инструкциям по обновлению Indy допоследняя версия в в этом сообщении .
Тем не менее, теперь постоянно используется 22 секунды, пока не возвращается TCPClient.Connect, когда нет соединения.ConnectTimeout и / или ReadTimeout, похоже, не влияют на это.