В настоящее время я работаю на сервере, написанном в C ++, используя библиотеку ASIO для общения. Сервер настроен как на локальной машине Windows, так и на тестовом сервере, работающем Linux. Я столкнулся с проблемой, когда мертвые сеансы должным образом обнаруживаются в моей локальной среде Windows, но не на тестовом сервере под управлением Linux. Когда это произойдет, сеанс может стать простоя. в фоне в течение длительного периода. На моей локальной машине опция SO_KEEPALIVE устанавливается на ложные, но мертвые сеансы все еще обнаруживаются и отключены правильно. SO_KEEPALIVE устанавливает FALSE в обеих средах, но, хотя он работает, как и ожидалось в моей локальной среде Windows, он не работает должным образом на сервере тестирования Linux. В частности, я настроил следующие параметры: < /p>
< /li>
< /ol>
tcp_keepalive_time: время (в секундах) соединение должно быть холостое время до того, как первая пакет-alive будет представлен. Время (в секундах) между повторными передачами Keep-alive. < /P>
< /li>
tcp_keepalive_probes: количество зондов для отправки перед рассмотрением подключения. Локальные и испытательные серверы, поведение все еще отличается. Локальный (Windows) сервер, по -видимому, обнаруживает и закрывает сеансы Dead, как и ожидалось, но тестовый сервер (Linux) не так. Они? Управляемая обработкой.
Спасибо за вашу помощь!
Подробнее здесь: https://stackoverflow.com/questions/795 ... difference
Проблема с обнаружением мертвого сеанса на сервере Linux (разница в настройках Keep-Alive между локальным и тестовым сер ⇐ Linux
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение