Очень часто недосерверы на недоос, т.е. на 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
Я не успеваю в комплексе проверить, попробуйте кто-нибудь?