socket.ioに問題があり、解決方法がわかりません。ユーザーインタラクションを管理するためのsocket.ioを備えたログインシステムを備えたアプリがあります。また、すべてのアクティブなWebSocketセッションを管理するための配列があります。この配列は、ペアsession.id=>usernameを格納します。
問題は、ユーザーが同じページ(またはWebSocketを使用する別のページ)で新しいタブを開いたときに始まります。これにより、配列内のユーザー名エントリが重複します。
{id1, username}
{id2, username}
ソケットがユーザーにメッセージを送信するとき、ソケットは配列の最初のセッションIDにのみ送信するため、1つのタブのみがメッセージを受信します。
新しい接続のソケットIDを他の接続と一致するように変更しようとしましたが、機能しません。
socket.id = sessionId of the other websocket;
別の解決策は、開いているすべてのセッションにメッセージを送信することだと思いますが、それは最善の方法ではないと思います。
ありがとう。