【问题标题】:how to get global presence for pusher如何让 pusher 获得全球影响力
【发布时间】:2015-05-20 13:11:14
【问题描述】:

我正在构建一个聊天应用程序,我想获得一个列表,其中列出了我关注的哪些人在线以及他们所在的聊天室。

根据 pusher 文档,存在通道是每个通道的,并且

这与 jabber 风格的“我的哪些朋友在线”存在不同。 Pusher 目前没有为该用例提供任何开箱即用的功能。

https://pusher.com/docs/client_api_guide/client_presence_channels

因此,如果我要在推送器上创建此功能,我是否应该只创建一个全球频道并让每个人在后台静默连接到该频道以获得全球影响力 - 如果是这样,则限制为 100 人,所以它不会不可行。或者我应该只为每个用户创建一个频道,然后让用户为每个他们的朋友订阅一个频道(尽管这似乎有点低效)?请注意,这是我关注的一种单向关系,而不是一种双向的朋友关系。

【问题讨论】:

标签: pusher


【解决方案1】:

正如您所指出的,Presence 频道更适合最多 100 个用户的房间。

注意:这背后的想法是,一个拥有更多内容的房间并不是真正的聊天会话。希望这种限制在未来会有所改变,并且会增加存在渠道的用例。

要计算您关注的在线用户数量,您需要确保每个用户都订阅了用户特定的频道(例如,myUserId-channelprivate-myUserId-channel,如果需要身份验证),然后查询 Pusher HTTP API 并检查用户特定通道是否为occupied。如果是,则该用户订阅了该频道并因此在线。见Querying Application Channels

更详细的描述见Showing who's online with a large number of users FAQ中的第1点

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 2013-05-05
    • 2019-02-28
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多