Fayeを使用してアクティブな購読者をリストするにはどうすればよいですか?
-
26-10-2019 - |
質問
私は使用しています フェイ メッセージを派遣するとうまく機能します。しかし、私は特定のチャネルのアクティブな接続を取得したいと思っていますが、物事は少し異なって動作します。チャネルにアクティブな購読者をリストします".
部屋でチャットしている現在のユーザーのリストを表示したいと思います。私はこれを傍受してこれをしようとしました /meta/subscribe
チャネル経由 拡張機能 しかし、ユーザー名のようなデータをサーバーに送信する方法はよくわかりません。
インターセプトされたメッセージ /meta/subscribe
このように見えます:
{"channel"=>"/meta/subscribe", "clientId"=>"50k233b4smw8z7ux3npas1lva", "subscription"=>"/comments/new", "id"=>"2"}
送るのはいいことです "username" => "foo"
.
モニタリング 興味深いことですが、繰り返しになりますが、登録されている特定のデータを送信できないようです。
誰かがこの種の問題を経験していますか?
解決
クライアント側の拡張機能を使用してデータを添付できます。
client.addExtension({
outgoing: function(message, callback) {
if (message.channel === '/meta/subscribe') {
message.ext = message.ext || {};
message.ext.username = 'username';
}
callback(message);
}
});
このデータは、サーバー側の拡張機能に表示されます。ただし、それを実装する前に、このスレッドを読んでください。 https://groups.google.com/group/faye-users/msg/53ff678bcb726fc5
他のヒント
ユーザーが現在購読しているチャンネルを定期的に公開するためのチャネルを作成することを検討しましたか?どのユーザーとチャネルがサブスクライブされる可能性があるなどの追加のステータス情報を使用して、ハートビート/pingのように考えることができます。
所属していません StackOverflow