我正在使用 Node.js 构建服务器。我将代表我的用户的对象存储在一个关联数组中,现在这些对象的索引是该连接的套接字 id。使用 Socket.io 库,我只需执行 socket.id 即可获得它,因此对于处理我的请求的每个处理程序,我总是可以知道哪个用户提出了请求。
客户端每个用户都有已连接用户的 ID(与套接字 ID 不同)。当我有一个用于将消息从用户发送到另一个的处理程序时,就会出现问题,我举一个例子:
用户 A 需要向用户 B 发送消息,我的协议将消息指定为如下所示:
MSG_KEY:{MSG:'hello world',USER_ID:'12345'}
服务器端我有一个监听“MSG_KEY”的处理程序,当消息发送时它被执行并使用socket.id我可以检索谁提出了请求,但问题是我还需要获取用户B但是这次使用他的 USER_ID。我不想使用 socket.id 来避免会话欺骗。
我首先考虑通过从 socket.id 和用户 id 索引用户来在我的数组中索引用户。
我的问题是:这样做是个好主意吗?socket.io 是否提供了一种简化方法?