Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.03.2018, 10:27
Интересующийся
Отправить личное сообщение для kolyan1983 Посмотреть профиль Найти все сообщения от kolyan1983
 
Регистрация: 04.03.2011
Сообщений: 23

Чат, сокеты, редис.
Привет.
С нодой не работал. Но стоит задача сделать в проекте чат (nodejs + api). Весь проект сделан в связке aнгулар + апи (симфони 2). В чате нода - только для реалтайма. При коннекте сокета пробрасывается токен api и нода обращается к api, чтобы определить что это за юзер и определить нужные данные (его роль, в каких он группах). Данные сохраняются в редисе. Текущая задача - при коннекте/дисконнекте пользователя отправлять нужным пользователям (не всем), что такой то пользователь появился онлайн/отключился. Т.е. нужно по socket.id пользователей определить id юзера которому они соответствуют, а по id юзера уже определять нужно или нет слать уведомление. Так вот вопрос: как мне хранить соответствие socket.id => user.id ? Если я храню такую структуру в редисе - то при падении ноды и новом запуске все сокеты переоткрываются с новыми socket.id и получается, что в редисе остаются старые неактуальные записи в которых ключ - socket.id. Не хотелось бы, чтобы там копились мертвые данные. Как поступают в таких случаях? Спасибо.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает чат. Помогите найти ошибку. SuperGangster AJAX и COMET 0 29.07.2015 16:22
сокеты сокеты сокеты сокеты сокеты сокеты azamat Events/DOM/Window 0 11.01.2013 09:47
не работает чат на JSON top AJAX и COMET 4 13.08.2011 02:04
Как написать свой чат mycoding Оффтопик 2 14.08.2010 21:51
Чат vochat и фреймы Abaza Работа 2 02.11.2009 14:40