次のコードを使用して、ソケットストリームを使用して、ログインしているユーザーにデータを送信しています
var ss = require('socketstream'); .... .... ss.api.publish.user('userId', content);
しかし、ss.api.publish is undefined が私が受け取っているエラーです。
どこが間違っていますか。ご意見をお聞かせください。
次のコードを使用して、ソケットストリームを使用して、ログインしているユーザーにデータを送信しています
var ss = require('socketstream'); .... .... ss.api.publish.user('userId', content);
しかし、ss.api.publish is undefined が私が受け取っているエラーです。
どこが間違っていますか。ご意見をお聞かせください。
ユーザーに公開するためのAPIは次のとおりです。
ユーザーへの送信 ユーザー が認証されると (基本的には、ユーザーのセッションに req.session.userId の値が含まれていることを意味します)、userId (または ID の配列) を ss の最初の引数に渡すことで、ユーザーに直接メッセージを送信できます。 .publish.user のように:
// in a /server/rpc file
ss.publish.user('fred', 'specialOffer', 'Here is a special offer just for you!');
重要: ユーザーがアプリからサインアウトするときは、req.session.setUserId(null, cb) を呼び出して、ブラウザーがその userId 宛ての今後のイベントを受信しないようにする必要があります。注: このコマンドは、現在のセッションにのみ影響します。ユーザーが他のデバイス/セッションを介してログインしている場合、これらは影響を受けません。
上記は、socketstream pub/sub api を説明する元のドキュメントからの抜粋です。
ご覧のとおり、思ったよりも 1 つ多くの引数を指定する必要があります。つまり、クライアント側では、メッセージを取得するためにメッセージ チャネルにサブスクライブする必要があるためです。上記の例では、クライアント側のコードでこれを行う必要があります。
ss.event.on('specialOffer', function(message){
alert(message);
});