В настоящее время я работаю с nodejs и особенно с Express и Socket.io .
Моя цель - получить количество текущих зарегистрированных пользователей в моей системе . (не подключен к нему через сокеты, но зарегистрирован как пользователь моей системы)
Я пытался создать переменную сеанса , в которой хранится имя пользователя (уникальное значение) подключенного пользователя.У меня также есть объект (с именем connected_users
) на моем сервере, который перечисляет подключенных пользователей и их количество клиентов.
Например: connected_users: {userA:2, userB:1, userC:3}
Моя идеядолжен был взять длину из connected_users
как counter :
Если клиент подключится через сокет:
-Если у него нет сеанса добавить userA:1
к connected_users.
-Ели еще, если он уже в connected_users: просто увеличить значениеuserA
у подключенных пользователей.
Если клиент отключить через сокет:
- Уменьшить значениеuserA
в connected_users.
-Если это значение равно 1, это означает, что это последний клиент этого уникального пользователя, поэтому я удаляю ключ userA
. (Означает, что этот пользователь не являетсядольше активен)
Проблема в том, что если уникальный пользователь имеет только один клиент, который открыт, если он перезагрузит страницу, ключ userA
будет удален, так как онэто было последний клиent.
У вас есть идеи о том, как я могу закончить свою работу?(или сделать это другим способом)