У меня возникают проблемы с socket.io, и я понятия не имею, как его решить. У меня есть приложение с системой входа в систему с socket.io для управления взаимодействиями пользователей. Также у меня есть массив для управления всеми активными сеансами websocket. Этот массив хранит пару session.id = > имя пользователя.
Проблемы начинаются, когда пользователь открывает новую вкладку с той же страницей (или другой страницей, использующей websocket). Это приведет к дублированию имени пользователя в массиве.
{id1, username}
{id2, username}
Когда сокет отправляет сообщение пользователю, он отправляет только первому идентификатору сеанса массива, поэтому только одна вкладка получает сообщение.
Я попытался изменить идентификатор сокета нового соединения, чтобы он соответствовал другому, но он не работает.
socket.id = sessionId of the other websocket;
Я думаю, что еще одно решение - отправить сообщение на все открытые сессии, но я думаю, что это не лучший способ сделать это.
Спасибо.