Когда оборвётся TCP соединение?

Здравствуйте.
Пишу программу TCP-сервер и клиент к нему же. Функционал подвязывается на наличие или отсутствие TCP соединения со вторым хостом (сервер-клиент).
Т.е. задача - понимать, что сейчас есть сеть/tcp-соединение, а вот щас нету (disconnect событие).
Возник вопрос: после установки tcp-соединения, сколько времени это соединение будет активным или через какое время оно разорвётся. Кто определяет это время? Где хранится эта настройка?
Спасибо.

Сейчас я делаю проверяю соединение так: шлю каждые 15 секунд постоянные текстовые запросы "ping" и если пришёл ответ "pong" за заданное время, например за 2 секунды, значит соединение активно. Если получил событие disconnect, значит разрыв - нет связи. Но мне кажется, что это не правильно.
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
NeiroNx
@NeiroNx
Программист
А мне кажется что нормально, стоит почитать https://habr.com/ru/company/mailru/blog/316128/ и все сразу станет ясно.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Почитайте rfc там описано tcp time-out вот его и ловите, а пинги это перебор
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы