Windows TCP Socket Connection Timeout change

Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

Windows TCP Socket Connection Timeout change

Post by Seryi »

А можно ли как-то в Windows поставить таймаут на соединения сокета по TCP?
Если например я соединяюсь с каким-то адресом на порт который закрыт, то сейчас приложение ждет около 30 секунд прежде чем сказать что соединение не удалось.
Можно ли как-то уменьшить период ожидания максимум до 5 секунд скажем? Я не смог найти никакого параметра управляющего этим.
используемая платформа - .NET
ven27
Уже с Приветом
Posts: 5034
Joined: 11 Jan 2003 07:50
Location: ROV -> ICN -> LED -> ICN -> YYZ -> SFO -> ?

Re: Windows TCP Socket Connection Timeout change

Post by ven27 »

Seryi wrote:А можно ли как-то в Windows поставить таймаут на соединения сокета по TCP?
Если например я соединяюсь с каким-то адресом на порт который закрыт, то сейчас приложение ждет около 30 секунд прежде чем сказать что соединение не удалось.
Можно ли как-то уменьшить период ожидания максимум до 5 секунд скажем? Я не смог найти никакого параметра управляющего этим.
используемая платформа - .NET

Напрямую никак. В CE можно изменить количество ретрансмитов для SYN-сегмента: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcetcpip/html/cereftcpipv4v6commonregistrysettings.asp
Нужный Вам ключ - TcpMaxConnectRetransmissions.

В NT тот же самый ключ, но расположен в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameter
или в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Adapter Name>\Parameters\Tcpip
Seryi
Ник закрыт как дубликат.
Posts: 6238
Joined: 14 Mar 2001 10:01
Location: .MD -> .SI -> .SE -> .AR.US -> .MD

Post by Seryi »

хмм...
А как тогда работают сканеры портов?
ven27
Уже с Приветом
Posts: 5034
Joined: 11 Jan 2003 07:50
Location: ROV -> ICN -> LED -> ICN -> YYZ -> SFO -> ?

Post by ven27 »

Seryi wrote:хмм...
А как тогда работают сканеры портов?

С таковыми не работал, посему точно не знаю :pain1:
Могу лишь предположить, что возможно они используют какую нить из библиотек пакетных интерфейсов типа libpcap (WinPcap). С ее помощью съэмулировать TCP-сегмент проще пареной репы.
User avatar
Boriskin
Уже с Приветом
Posts: 18906
Joined: 30 Aug 2001 09:01
Location: 3rd planet

Post by Boriskin »

Seryi wrote:хмм...
А как тогда работают сканеры портов?


Асинхронно.
Вообще копать тут - http://www.microsoft.com/technet/treevi ... cpip2k.asp
Тупизна как Энтропия. Неумолимо растет.
mbabayan
Уже с Приветом
Posts: 286
Joined: 22 Dec 2000 10:01
Location: Chicago NW suburbs -> Houston, TX -> Seattle eastside (hurray, hurray, hurray)

Post by mbabayan »

Не смотрел как в .NET, но в обычных Сокетах 2 просто делаете вызов WSAConnect предварительно выставив ожидание на событие через WSAEventSelect а потом спите на сообщении с нужным тайм-аутом. Т.е просыпаетесь либо на успешном коннекте, либо на тайм-ауте.
The best way to predict the future is to create it.

Return to “Вопросы и новости IT”