Question

J'utilise Faye pour l'envoi des messages et il fonctionne bien. Mais je veux récupérer les connexions actives pour un canal donné, et un peu les choses se comportent différemment: Voir « liste d'abonnés actifs sur une chaîne ».

Je veux afficher la liste des utilisateurs actuels discutent dans une chambre. J'ai essayé de le faire en interceptant le canal /meta/subscribe via extensions mais je ne suis pas tout à fait sûr comment envoyer des données comme le nom d'utilisateur au serveur.

Un message intercepté ressemble /meta/subscribe comme ceci:

{"channel"=>"/meta/subscribe", "clientId"=>"50k233b4smw8z7ux3npas1lva", "subscription"=>"/comments/new", "id"=>"2"}

Il serait agréable d'envoyer "username" => "foo".

surveillance est intéressant aussi, mais encore une fois, il semble que je ne peux pas envoyer des données spécifiques sur désinscription.

Quelqu'un at-il une expérience avec ce genre de questions?

Était-ce utile?

La solution

Vous pouvez joindre des données en utilisant une extension côté client:

client.addExtension({
  outgoing: function(message, callback) {
    if (message.channel === '/meta/subscribe') {
      message.ext = message.ext || {};
      message.ext.username = 'username';
    }
    callback(message);
  }
});

Ces données seront ensuite visibles sur votre extension côté serveur. Toutefois, avant de mettre en œuvre que, lisez ce fil: https://groups.google.com/group/faye -utilisateurs / msg / 53ff678bcb726fc5

Autres conseils

Avez-vous envisagé de créer actuellement souscrit un canal pour la publication périodique quel canal un utilisateur? Vous pouvez penser comme un battement de coeur / ping avec des informations d'état supplémentaires telles que l'utilisateur et le canal, ils peuvent être souscrites.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top