Pregunta

Estoy usando Faye Para enviar mensajes y funciona bien. Pero quiero recuperar las conexiones activas para un canal determinado, y las cosas se comportan de manera un poco diferente: ver "Lista de suscriptores activos en un canal".

Quiero mostrar la lista de usuarios actuales que chatan en una habitación. Traté de hacer esto interceptando el /meta/subscribe canal extensiones Pero no estoy muy seguro de cómo enviar datos como el nombre de usuario al servidor.

Un mensaje interceptado para /meta/subscribe Se ve como esto:

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

Sería bueno enviar "username" => "foo".

Vigilancia También es interesante, pero de nuevo, parece que no puedo enviar ningún datos específicos a la suscripción.

¿Alguien tiene experiencia con este tipo de problemas?

¿Fue útil?

Solución

Puede adjuntar datos utilizando una extensión del lado del cliente:

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

Estos datos serán visibles para su extensión del lado del servidor. Sin embargo, antes de implementar eso, lea este hilo: https://groups.google.com/group/faye-users/msg/53ff678bcb726fc5

Otros consejos

¿Ha considerado crear un canal para publicar periódicamente a qué canal se suscribe actualmente un usuario? Puede pensar en ello como un latido/ping con información de estado adicional, como a qué usuario y canal pueden suscribirse.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top