Приветствую всех.
Столкнулся довольно давно с такой проблемой, долго думал и пробывал разные вещи но ничего толкового не придумал изза непонимания причины проблемы.
Суть проста.Есть клиент,есть сервер.Клиент подключается к серверу и ждёт данных и на основе полученных данных вызывает определённую функцию.По началу всё работает,но если данные не будут приходить гдето минут 5 и более то соединение застывает,netstat с обеих сторон говорит что они подключены друг к другу но вот данные уже не идут клиенту.Пробовал ставить keepalive с обеих и не с обеих сторон - не помогает.Тогда пришла другая идея.Сервер в отдельном потоке раз в 2 минуты шлёт несколько байт клиенту,получился эдакий пинг.Если таким образом пинговать то всё работает без проблем.Хотел бы у вас спросить почему такое происходит и есть ли более красивое решение?
p.s. серверная часть на ubuntu,клиентская на windows