Come faccio a lista degli iscritti attivi usando Faye?
-
26-10-2019 - |
Domanda
Faye per l'invio dei messaggi e funziona bene. Ma voglio recuperare le connessioni attive per un determinato canale, e le cose si comportano un po 'diversamente: Vedere " lista degli iscritti attivi su un canale ".
voglio mostrare l'elenco degli utenti attuali chat in una stanza. Ho provato a fare questo intercettando il canale /meta/subscribe
tramite estensioni ma non ne sono del tutto sicuro come inviare i dati come il nome utente per il server.
Un intercettato messaggio a sguardi /meta/subscribe
in questo modo:
{"channel"=>"/meta/subscribe", "clientId"=>"50k233b4smw8z7ux3npas1lva", "subscription"=>"/comments/new", "id"=>"2"}
Sarebbe bello per inviare "username" => "foo"
.
Monitoraggio è interessante anche, ma ancora una volta, sembra che non riesco a trasmettere tutti i dati specifici sul-subscribe.
Qualcuno ha esperienza con questo tipo di problemi?
Soluzione
È possibile collegare i dati utilizzando un'estensione lato client:
client.addExtension({
outgoing: function(message, callback) {
if (message.channel === '/meta/subscribe') {
message.ext = message.ext || {};
message.ext.username = 'username';
}
callback(message);
}
});
Questi dati sarà quindi visibile al proprio interno sul lato server. Tuttavia, prima di implementare che, letto questa discussione: https://groups.google.com/group/faye : agli utenti / msg / 53ff678bcb726fc5
Altri suggerimenti
Avete considerato la creazione di un canale per la pubblicazione periodica quale canale un utente è attualmente sottoscritto? Si può pensare ad esso come un battito cardiaco / ping con ulteriori informazioni sullo stato come il quale utente e il canale possono essere sottoscritte.