向用户"Bind"套接字



我对套接字相当陌生,希望为现有应用程序提供一些实时元素,如通知。我正在使用SailsJS(和本地策略的Passport),想要一个可以像

这样调用的服务
Notification.send(userID, message);

对于所有其他类型的实时事件(私人消息,…)来说,这也是一种非常酷的方式。但是我需要知道的是如何将套接字"绑定"到UserID。

有什么想法或文章(在谷歌上找不到任何东西-可能是因为我不知道到底要搜索什么…)?谢谢。

假设您在.sailsrc中启用了pubsub钩子(只要您没有看到pubsub: false,它就启用了),您可以让客户端像这样订阅自己的用户模型,以便它们将接收发送到其userId:

的任何通知。
User.findOne(userId).then(function (me) {
    User.subscribe(req.socket, me, 'message');
})

然后你可以调用这个来向控制器中的特定用户发送通知:

User.message(recieverUserId, {type: "message", data: notification});

只需将type更改为任何相关的内容,例如type: "new Match"并发送相应的数据。编辑:基本上,.message()是船帆公共订阅库向订阅模型发送通知的方式。还可以将用户数组传递给User.subscribe

相关内容

  • 没有找到相关文章

最新更新