Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Windows

Как сделать, чтобы Windows сразу рвала зависшее соединение : Windows

03.12.2024 20:30


01.07.2020 19:40
Очень часто недосерверы на недоос, т.е. на Windows, ребутятся, и соединения между ними подвисают. Особенно это досадно на серверах приложения Супермага. Сервер лицензий, убитый до этого, видит собственную блокировку и не переподключается.
В Linux все прозрачно, в Windows цирк с конями начинается еще на этапе поиска решения. Нашел пока только две опции

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters\
KeepAliveTime = 300000 (5 минут, по умолчанию - 1 или 2 часа, везде по разному пишут)
Проверка живости хоста на том конце. Т.е. через предлагаемые 5 минут в сторону удаленной машины уйдет пакет и будет ожидаться ответ.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters
Data Type: REG_DWORD - Number
Value Name: TcpMaxDataRetransmissions = 2 (по умолчанию 5)
Этот параметр определяет недоверчивость к пропаданию связи. Т.е. соединение не будет сброшено с первого раза, а, как предлагается - при отсутствии ответа на два пакета подряд. Учитывая, что интервал между попытками увеличивается в какой-то прогрессии, лучше в LAN особо не щеголять, хватит и двух попыток.

Ну и можно добавить немного посторонние параметры
HKEY_LM\System\CurrentControlSet\Services\Tcpip\Parameters\TcpTimedWaitDelay = 30
HKEY_LM\System\CurrentControlSet\Services\Tcpip\Parameters\TcpFinWait2Delay = 30
HKEY_LM\System\CurrentControlSet\Services\Tcpip\Parameters\StrictTimeWaitSeqCheck = 1
Я не успеваю в комплексе проверить, попробуйте кто-нибудь?
02.11.2020 12:43
Для быстрой добавки...
Код:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v TcpTimedWaitDelay /t REG_DWORD /d 30
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v TcpFinWait2Delay /t REG_DWORD /d 30
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v MaxUserPort /t REG_DWORD /d 65534
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v StrictTimeWaitSeqCheck /t REG_DWORD /d 1
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v KeepAliveTime /t REG_DWORD /d 300000
reg add "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v TcpMaxDataRetransmissions /t REG_DWORD /d 2
24.02.2021 13:49
Не ставьте это в условиях плохой сетки... Рвет на ура, в том числе и работающие соединения.
В общем, если хотите с сетью страдать - используйте Windows дальше.
Часовой пояс GMT +3, время: 20:30.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.