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 人のユーザーがサブスクライブします。

私には2つの懸念があります:

  1. 私が見た Juggernaut の例はすべて、複数のクライアントが 1 つのチャネルにサブスクライブしているものです。
  2. 指定されたユーザーのみがメッセージを受信するように認証を追加する方法はありますか (つまり、現在ログインしているユーザーだけが通知チャネルを購読できます)。サブスクライブ時に追加のデータを渡す方法があれば、おそらくそれで十分でしょう (ユーザー ID をハッシュし、それをトークンとして使用しますか?)。

以前にこのシナリオに遭遇した可能性のある Juggernaut の経験がある人はいますか?

4

1 に答える 1

0

私が見たすべての Juggernaut の例では、複数のクライアントが 1 つのチャネルにサブスクライブしています。

多くのサブスクライバーとパブリッシャーへの 1 つのサブスクライバーの違いは何ですか?

指定したユーザーのみがメッセージを受信するように認証を追加する方法はありますか

もちろん。チャネルに認証を要求します。これはユーザー ID によるものであるため、保護するために必要なことは既にわかっています。

ジャガーノートに認証をさせる方法については、ホストヘッダーを投稿してそれを処理できるようです。

于 2011-06-13T23:42:07.200 に答える