关于 Pusher 中存在通道与非存在通道关联的混淆

Posted

技术标签:

【中文标题】关于 Pusher 中存在通道与非存在通道关联的混淆【英文标题】:Confusion about presence channels associations with non presence channels in Pusher 【发布时间】:2015-09-25 15:12:06 【问题描述】:

创建在线状态频道是否会自动在同名的非在线状态频道中显示在线状态信息,例如

“presence-chat”显示房间“聊天”的成员

这两个频道是否完全不关联,并且它们之间的任何关联都必须由应用手动维护?而presence channel只是一种可以任意命名为前缀“presence-”的频道

因此,如果是后者,那么在聊天室用例中,应该为用户订阅聊天室频道以及聊天室频道的存在,这可能会或可能不会类似地命名?

【问题讨论】:

【参考方案1】:

创建状态通道是否会自动在同一个命名的非状态通道中显示状态信息,例如

“presence-chat”显示房间“聊天”的成员

不,chat 是一个公共频道,没有任何存在类型数据或功能。

这两个频道是否完全不相关

正确。

它们之间的任何关联都必须由应用手动维护?

是的。但我不确定您为什么要同时使用chatpresence-chat 频道。公共频道 (chat) 上可用的所有功能也可在状态频道 (presence-chat) 上使用。

而presence channel只是一种可以任意命名为前缀“presence-”的频道

正确。

有关频道类型的信息可通过以下方式找到: https://pusher.com/docs/client_api_guide/client_channels#channel_types

因此,如果是后者,那么在聊天室用例中,应该为用户订阅聊天室频道以及聊天室频道的存在,这可能会或可能不会类似地命名?

如上所述,状态频道提供公共频道的所有功能。所以没有必要使用一个可以做任何事情的两个渠道。

如果我错过了您需要两个使用两个频道类型的原因,请告诉我。如果是这样,我会更新我的答案。

【讨论】:

好的——所以如果我也想说发送聊天事件——那么我只需订阅在线状态频道,我就可以将聊天事件发送到在线状态频道。我曾假设出席频道只允许出席事件。如果是这样的话 - 将其称为启用状态的频道可能会更容易理解。

以上是关于关于 Pusher 中存在通道与非存在通道关联的混淆的主要内容,如果未能解决你的问题,请参考以下文章

使用推送器的存在/私人频道的不同身份验证方法

如何使用 PHP 绑定到 Pusher / Websocket 通道?

RabbitMQ不同通道间存在影响

将Azure Bot服务与非通道可配置的聊天服务配合使用

检索存在于语音通道中的成员

如何检查具有特定角色的成员是不是存在于 discord.js 的特定语音通道中