Fayeを使用してアクティブな購読者をリストするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/8807492

質問

私は使用しています フェイ メッセージを派遣するとうまく機能します。しかし、私は特定のチャネルのアクティブな接続を取得したいと思っていますが、物事は少し異なって動作します。チャネルにアクティブな購読者をリストします".

部屋でチャットしている現在のユーザーのリストを表示したいと思います。私はこれを傍受してこれをしようとしました /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のように考えることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top