加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在rails中使用PrivatePub和Faye查找当前订

发布时间:2020-12-17 02:25:18 所属栏目:百科 来源:网络整理
导读:我正在使用名为 PrivatePub的ruby gem,它使用 Faye来提供PubSub消息 PrivatePub gem提供了几个基于视图的帮助程序来订阅/发送消息到特定主题.我希望扩展PrivatePub以包含一个API调用,它将为我提供连接到Faye的每个当前订阅对象的ID.有人可以解释如何实现这一
我正在使用名为 PrivatePub的ruby gem,它使用 Faye来提供PubSub消息

PrivatePub gem提供了几个基于视图的帮助程序来订阅/发送消息到特定主题.我希望扩展PrivatePub以包含一个API调用,它将为我提供连接到Faye的每个当前订阅对象的ID.有人可以解释如何实现这一点或帮助我找到另一种方法来解决PrivatePub api中的所有当前订阅.

解决方法

从0.7版开始,Faye包含一个用于监控引擎内活动的API.这意味着您可以附加事件侦听器来监视客户端会话的创建和销毁,找出客户端订阅和取消订阅频道的时间,以及观察已发布的消息.

您将事件侦听器附加到服务器,如下所示:

var bayeux = new Faye.NodeAdapter({mount: '/faye',timeout: 45})

bayeux.on('handshake',function(clientId) {
  // event listener logic
})

可用的事件是:

> handshake [clientId] – 在新客户端连接并发出ID时触发.
> subscribe [clientId,channel] – 当客户端订阅频道时触发.如果收到已存在的订阅的/ meta / subscribe消息,则不会触发此消息.
>取消订阅[clientId,channel] – 当客户端取消订阅频道时触发.这可能是因为客户端显式发送了/ meta / unsubscribe消息,或者因为它的会话被服务器超时了.
> publish [clientId,channel,data] – 发布非/ meta / **消息时触发.包括发布者的客户端ID(可以为null),消息发送到的通道以及数据有效负载.
> disconnect [clientId] – 在客户端会话结束时触发,或者是因为它显式发送了/ meta / disconnect消息,或者是因为它的会话被服务器超时了.

我希望这个对你有用

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读