Я пытаюсь создать чат-сервер, используя MEAN Stack (не используя Redis), который использует socket.io для включения чата в реальном времени. Для обмена личными сообщениями я хочу реализовать встроенную функцию «комнаты» в socket.io. Поток идет следующим образом:
Пользователь 1 хочет начать разговор с Пользователем 2, поэтому Пользователь 1 создает событие, которое перехватывает сервер. На сервере я сохраняю этот разговор в базе данных и присоединяю User1 к комнате. Если пользователь 2 находится в сети, я присоединяю пользователя 2 также к этой комнате. Для выполнения этого шага мне нужен доступ к сокету User2. После большого количества исследований я нашел этот метод для хранения «сокета» каждого подключенного пользователя в массиве (или словаре). Мне было интересно, есть ли какой-либо другой метод для извлечения сокета, кроме сохранения его в массиве.