使用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方法的文档在这里 。