А можно ли как-то в Windows поставить таймаут на соединения сокета по TCP?
Если например я соединяюсь с каким-то адресом на порт который закрыт, то сейчас приложение ждет около 30 секунд прежде чем сказать что соединение не удалось.
Можно ли как-то уменьшить период ожидания максимум до 5 секунд скажем? Я не смог найти никакого параметра управляющего этим.
используемая платформа - .NET
Windows TCP Socket Connection Timeout change
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Уже с Приветом
- Posts: 5034
- Joined: 11 Jan 2003 07:50
- Location: ROV -> ICN -> LED -> ICN -> YYZ -> SFO -> ?
Re: Windows TCP Socket Connection Timeout change
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
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Уже с Приветом
- Posts: 5034
- Joined: 11 Jan 2003 07:50
- Location: ROV -> ICN -> LED -> ICN -> YYZ -> SFO -> ?
-
- Уже с Приветом
- Posts: 18906
- Joined: 30 Aug 2001 09:01
- Location: 3rd planet
Seryi wrote:хмм...
А как тогда работают сканеры портов?
Асинхронно.
Вообще копать тут - http://www.microsoft.com/technet/treevi ... cpip2k.asp
Тупизна как Энтропия. Неумолимо растет.
-
- Уже с Приветом
- Posts: 286
- Joined: 22 Dec 2000 10:01
- Location: Chicago NW suburbs -> Houston, TX -> Seattle eastside (hurray, hurray, hurray)
Не смотрел как в .NET, но в обычных Сокетах 2 просто делаете вызов WSAConnect предварительно выставив ожидание на событие через WSAEventSelect а потом спите на сообщении с нужным тайм-аутом. Т.е просыпаетесь либо на успешном коннекте, либо на тайм-ауте.
The best way to predict the future is to create it.