插座.Emit触发一个新的连接



我使用socket。IO在我的应用程序,并附加一个套接字id到每个用户登录后。我在前端得到那个信息当我试图发出一个事件时,它会创建一个新连接每个用户都会得到一个新的套接字id,但旧的id存储在前端我将数据发送给旧的id。解决方案是什么?(我用的是Angular)

我试过创建组,但它确实减慢了应用程序,因为我必须创建和每个用户的朋友一样多的套接字组。

我给你的解决这个问题的建议是为每个用户使用唯一的ID。这个唯一的ID可以通过rest api创建并交付给用户。用户在每次连接到套接字之前将其ID放入对象中。你的任务是这样的。在用户连接的同一阶段,为每个用户创建一个对象。在这个对象中,有两个参数。第一个是不变的用户ID,第二个是发生变化的用户ID。这样,您就有了一个对象列表,每个对象都有两个提到的参数,这足以比较使用套接字ID循环的用户并实现您的逻辑和操作。注意,在连接用户结束时,将该用户从列表中删除。

最新更新