Как я могу обнаружить отключение клиента с помощью сокетов?

Цель

Я использую сокеты для реализации приложения для обмена мгновенными сообщениями с функцией чата в рулетке.
Если 2 клиента разговаривают, а 1 отключается, то другой должен знать.
Отключение включает в себя как грациозные, так и грациозные разъединения (т. Е. Ваш телефон умирает).

Текущая стратегия

Моя стратегия заключается в том, чтобы каждый клиент пинговал сервер каждые 5 секунд (что является своего рода «пульсом»). Если клиент пропустит интервал, сервер сообщит другому клиенту.

Обеспокоенность

Это не похоже, что будет очень хорошо масштабироваться. Сервер должен использовать прослушиватель для каждого клиента. И тысячи или миллионы клиентов пингуют сервер, звучит довольно жестоко.

Вопрос

Как можно относительно быстро определить отключение клиента при возможности масштабирования?

Примечания стороны

Серверная часть находится в php. Клиентская сторона находится в Java.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]