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