Цитата:
|
В первую очередь в голову приходит банальный пинг, но не хотелось бы нагружать соединение пустым катанием байт туда обратно.
|
Тогда никак. В любом случае байты туда сюда будут кататься, чтобы соединение было. Вообще, heartbeat используется довольно часто. Сервер просто шлет сообщение клиенту через определенные промежутки времени (у меня это сообщение _hb), на которое клиент должен сразу же ответить. Если ответа нет в течение определенного времени (скажем секунд 5), убиваем сокет. По-моему вполне нормальный вариант. За одно и время "псевдопинга" замерить можно.