如何使用Faye列出活动订户?
-
26-10-2019 - |
题
我在用着 Faye 用于调度消息,它运行良好。但是我想检索给定渠道的主动连接,并且事情的行为有所不同:看到”在频道上列出活动订户".
我想显示在房间里聊天的当前用户列表。我试图通过拦截 /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
其他提示
您是否考虑过创建一个渠道,以定期发布用户当前订阅的哪个渠道?您可以将其视为心跳/ping,并具有其他状态信息,例如他们可以订阅的用户和渠道。
不隶属于 StackOverflow