@RomanSS

Что лучше использовать в socket.io когда используют несколько вкладок?

Подскажите, что лучше использовать когда у пользователя открыто много вкладок? комнаты или карту пользователей?
Под картой пользователей я говорю про такой код: (подробнее тут stackoverflow)
var socketMap = {};
if(!socketMap[userId]) socketMap[userId] = [];
socketMap[userId].push(socket);


Засомневался в использовании стандартных комнат в socket.io, так как отправка в комнаты происходит при обходе всех пользователей и проверки в каких комнатах они находятся. Т.е. при 1000 подключенных клиентах, чтобы отправить сообщение определенному пользователю, получится что будет обход по всем 1000 подключенных сокетов. Возможно я не правильно понял как устроены комнаты.

А если использовать карту пользователя, можно обход сделать только по тому массиву сокетов который в карте.

Что можете сказать по этому поводу?
  • Вопрос задан
  • 584 просмотра
Решения вопроса 1
@catHD
Вы не правильно поняли. Комната это такой же набор sockeId как и ваша "socketMap".

Реализуйте как вам будет удобнее, hash/array/rooms.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы