我使用Node.js构建服务器。我将代表我的用户的对象存储在关联数组中,现在这些对象的索引是该连接的套接字标识。使用Socket.io库,我通过简单地执行socket.id获得它,因此对于每个处理程序来说,照顾我的请求,我总是可以知道哪个用户提出了请求。关联数组中的双重索引
客户端每个用户都有连接用户的ID(与套接字ID不同)。 问题aiaises当我有一个处理程序,用于发送消息从用户到另一个,我举一个例子:
用户A需要发送一条消息给用户B,我的协议指定消息为类似这样的:
MSG_KEY:{MSG:'hello world',USER_ID:'12345'}
服务器端我有听的处理程序“MSG_KEY”,当它被执行,并使用socket.id我可以检索谁提出的要求,但在发送邮件的问题是,我需要得到用户B,但是这次使用他的USER_ID。我不想使用socket.id来避免会话欺骗。
我首先想到了在我的数组中索引用户的索引,他们都是通过从socket.id和用户ID中索引它们。
我的问题是:这样做是个好主意吗? socket.io是否提供了一种简化此方法的方法?
FWIW,在JavaScript,通常不会使用术语“关联数组”(只是为了避免与数组混淆 - 这很有趣,因为标准的JavaScript数组并不是真正的数组,而是没关系)。 “地图”或只是“对象”是正常的术语。 –
感谢您的澄清 – MastErAldo
只是为了澄清:您的问题下方有一个[编辑](http://stackoverflow.com/posts/16572324/edit)链接,您可以使用它来随时编辑您的帖子。其他用户也可以这样做,这就是为什么我添加了你说的缺失的部分。而且我没有添加“谢谢”部分,因为这里被认为是不必要的噪音。 – bfavaretto