Цель
Я использую сокеты для реализации приложения для обмена мгновенными сообщениями с функцией чата в рулетке.
Если 2 клиента разговаривают, а 1 отключается, то другой должен знать.
Отключение включает в себя как грациозные, так и грациозные разъединения (т. Е. Ваш телефон умирает).
Текущая стратегия
Моя стратегия заключается в том, чтобы каждый клиент пинговал сервер каждые 5 секунд (что является своего рода «пульсом»). Если клиент пропустит интервал, сервер сообщит другому клиенту.
Обеспокоенность
Это не похоже, что будет очень хорошо масштабироваться. Сервер должен использовать прослушиватель для каждого клиента. И тысячи или миллионы клиентов пингуют сервер, звучит довольно жестоко.
Вопрос
Как можно относительно быстро определить отключение клиента при возможности масштабирования?
Примечания стороны
Серверная часть находится в php. Клиентская сторона находится в Java.
Задача ещё не решена.
Других решений пока нет …