我对套接字很新,并希望为现有应用程序提供一些实时元素,例如通知。我正在使用SailsJS(和带有本地策略的Passport)并且想要一个可以被称为
的服务Notification.send(userID, message);
对于所有其他类型的实时事件(私人消息,......),这也是一种非常酷的方式。但我需要知道的是如何将套接字“绑定”到UserID。
任何想法或文章(在谷歌上找不到任何东西 - 可能是因为我不知道究竟要搜索什么......)?感谢。
答案 0 :(得分:0)
假设你的.sailsrc中启用了pubsub挂钩(只要你没有看到pubsub:false),你可以让客户订阅他们自己的用户模型,这样就可以了他们将收到发送给他们userId的任何通知:
User.findOne(userId).then(function (me) {
User.subscribe(req.socket, me, 'message');
})
然后你可以调用它来向控制器中的特定用户发送通知:
User.message(recieverUserId, {type: "message", data: notification});
只需将类型更改为类似的相关内容:" new Match"并发送适当的数据。 编辑:基本上,.message()是sails pubsub库向订阅模型发送通知的方式。您还可以将一组用户传递给User.subscribe