Типа если клиент не обращается к северу N времени то сервер пишет в бд статус оффлайн. Или чтобы клиент сам информировал сервер об уходе в оффлайн?
Вопрос 2
Нужно вывести статистику кто онлайн кто нет
Надо вытаскивать из бд все структуры клиентов и циклом проходить? Это же дофига ресурсов займет если бд большая
А нельзя такое на вебсокетах делать? Типо отвалился клиент- оффлайн
1. зависит от протокола. Гугли в сторону live ping и heartbeat 2. SQL может собирать простенькие статистики, типа посчитать количество офлайн пользователей
IMHO 1) наверное имеет смысл делать и так, и так: пользователь может просто закрыть выкладку и т.д.; а может ещё разлогиниться (если только 1 сессия) 2) у редиса вроде есть ttl callback или какая то нотификация (это сказал быстрый гуглеж) или можно попробовать использовать heap, и сортировать по последнему времени активности + 15 мин. например ; и т.д. + завести счётчик количества онлайн пользователей
стандартно - вебсокет, пинг-понг для проверки коннекта
Обсуждают сегодня