4

我是 Node JS 和 Socket IO 的新手,但我听说过很多关于它们的好消息,所以我想看看它们是否可以用作实时通知系统。

在我的场景中,用户将打开一个套接字来监听发布给用户的通知——每个用户都将打开一个到他们自己的通知的连接,而不是一个“公共”频道。

var jug = new Juggernaut;
var channel = "/user/" + userId + "/notifications";
jug.subscribe(channel, function(data){
    console.log("Got data: " + data);
});

因此,几乎在所有情况下,都会有 1 个用户订阅 1 个频道。

我有两个担忧:

  1. 我见过的所有 Juggernaut 示例都涉及订阅 1 个频道的多个客户端——这让我认为它不是为 1-1 通信而设计的。
  2. 有没有办法添加身份验证,以便只有指定的用户才能收到消息(IE,当前登录的用户是唯一可以订阅他/她的通知频道的用户)。如果有一种方法可以在订阅时传递其他数据,那可能就足够了(散列用户 ID 并将其用作令牌?)。

有没有人有任何可能遇到过这种情况的剑圣经验?

4

1 回答 1

0

我见过的所有 Juggernaut 示例都涉及订阅 1 个频道的多个客户端

发布者的多个订阅者和一个订阅者有什么区别?

有没有办法添加身份验证,以便只有指定的用户才能收到消息

当然。要求通道进行身份验证,并且由于它将通过用户 ID 进行,因此您已经知道保护它所需的东西。

至于如何让主宰进行身份验证,看起来您可以发布主机标头来为您处理。

于 2011-06-13T23:42:07.200 回答