【问题标题】:How to get online users using pusher如何使用推送器获取在线用户
【发布时间】:2017-07-17 06:53:13
【问题描述】:

我正在使用 Pusher 开发聊天应用程序。到目前为止,每当用户登录他的帐户时,他都会订阅如下频道:

`var channel = pusher.subscribe('<?='myChannel'.$_SESSION['USERID']?>');`

我想更新在线/离线聊天列表中的状态,以便其他用户可以知道用户是否在线。我该怎么做?

【问题讨论】:

    标签: pusher


    【解决方案1】:

    通常你会为此使用presence channels。这些频道具有特殊事件,当会员订阅/取消订阅频道时,这些事件会广播给所有其他订阅者。

    您似乎每个用户都有一个频道,因此仅将现有频道转换为在线频道是行不通的。相反,除了所有用户订阅的每个用户频道之外,您还可以拥有一个特殊的在线频道。在这里您可以绑定到出席事件并更新成员列表。

    【讨论】:

    • 是的,我也是这样做的。我使用在线状态频道为var presenceChannel = pusher.subscribe('presence-myChannel'); var count = presenceChannel.members.count; 但现在我的计数为0。我怎样才能获得准确的计数和在线/离线状态?
    • 您可能过早得到计数。您应该等到订阅成功。有一个例子说明如何做到这一点here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-11
    • 2015-04-11
    • 1970-01-01
    • 1970-01-01
    • 2019-09-13
    • 1970-01-01
    • 2015-07-27
    相关资源
    最近更新 更多