Как мне перечислить активные подписчики с использованием 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

Другие советы

Рассматривали ли вы создание канала для периодической публикации, на какой канал в настоящее время подписан пользователь? Вы можете думать об этом как сердцебиение/пинг с дополнительной информацией о состоянии, например, к какому пользователю и каналу они могут быть подписаны.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top