我正在使用Faye来发送消息,但效果很好。但我想检索给定频道的活动连接,事情表现略有不同:请参阅“list active subscribers on a channel”。
我想显示当前在一个房间聊天的用户列表。我尝试通过extensions截取/meta/subscribe
频道来做到这一点,但我不太确定如何将用户名等数据发送到服务器。
截获/meta/subscribe
的邮件如下:
{"channel"=>"/meta/subscribe", "clientId"=>"50k233b4smw8z7ux3npas1lva", "subscription"=>"/comments/new", "id"=>"2"}
发送"username" => "foo"
会很高兴。
Monitoring也很有趣,但同样,看起来我无法在订阅上发送任何特定数据。
有没有人有这类问题的经验?
答案 0 :(得分:8)
您可以使用客户端扩展附加数据:
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
答案 1 :(得分:4)
您是否考虑过创建一个频道来定期发布用户当前订阅的频道?您可以将其视为带有其他状态信息的心跳/ ping,例如可以订阅哪些用户和频道。