使用socket.io和sails.js发送特定于会话的消息

我试图实现一个私人聊天function,使用sails.js框架,当我试图发送消息给特定用户时,我有一些麻烦。

目前,我通过使用socket.io的.socket(socket.id).emit(event,message)将消息发送到特定的socket.id来实现私人通信,但是这种方法的问题是每次用户打开一个新的选项卡,为新的连接生成一个新的socket.id。

而我的问题是:sails.js是否有助于发送事件(使用socket.io)到一个特定的用户会话,而不是一堆socket ID的方式吗? 这些技术有可能吗?

所以我只能发送一次该事件,并确保在聊天应用程序当前打开的所有选项卡中都收到该事件。

提前致谢。

Sails通过一些有用的pubsub方法来增强其所有的模型。 无论何时通过套接字请求(例如socket.get('/user/123') )find模型,请求套接字都会自动订阅有关该模型的所有消息。 然后可以调用User.message(123, data)向该用户的所有连接的套接字发送消息。

pubsub方法的文档在这里 。