Есть такая задача — проверять не отвалился ли клиент.
Подробнее:
На локалке крутится «монолитный» http-клиент. В его код лазить не получится. Т.е. тупо приложение, и все.
Вообще, основной причиной является то, что на стороне клиента сеть плохая и сервер отпинывает клиента из-за долгих таймаутов.
Нужно каким либо способом проверять что он все еще получает данные с сервера. И если он «подвис» то убить клиента по пиду и запустить его заново.
Мои предположения:
Пишем баш-скрипт который в цикле проверяет что-то, например из tcpdump или tcpflow или netstat или ???, с-grep-ать/с-sed-ить и если что-то не понравилось то перезапускает клиента.
Нужна ваша помощь в подсказках:
1) откуда именно можно взять инфу о статусе соединения и факте отсутствия/наличия процесса передачи данных извне локально работающему клиенту?
2) основных критических причинах по которым можно считать что что-то пошло не так, т.е., что именно в статусах считать за ошибку?
3) возможен совершенно иной (не тот до которого додумался я) принцип проверки?
UPD: кстати, могу рассмотреть какой-либо апликейшн в качестве прокси-прослойки которое сможет задетектить сетевой касяк само, или его будет удобнее использовать нежели имеющегося чугунного клиента, но всеравно оно должно передавать клиенту данные которые успешно получило.