我正在使用 socket.io 制作一个聊天应用程序,我需要在其中显示当前用户列表。到目前为止,它在显示当前用户列表的情况下工作正常
我正在使用此代码来维护用户列表
usernames[socket.id] = name;//where name is the name of the user
然后在断开连接时,我再次从列表中删除该用户
delete usernames[socket.id];
但是,我对这种方法的问题是假设有三个用户 a、b 和 c
现在用户列表将在连接事件中填充,就像这样
io.sockets.on('connection', function(socket) {
...
socket.on('register', function(name) {
usernames[socket.id] = name;
用户列表将类似于“a,b 和 c”
但是,我想要的是,对于用户“a”,列表应该显示“b and c”,对于“b”,它应该是“a and c”,对于“c”,它应该是“a and b”。
我还考虑基于一些变量在客户端删除它,该变量存储正在查看它的用户的名称,但对于这个聊天,多个用户可以有相同的名称。因此,如果假设所有三个名称都为“a”,那么它将删除所有三个而不是仅从列表中删除一个名称。
....我想我对这个没有想法。请帮我在socket.io中实现它