附加到频道时,您需要明确提供要附加到的频道名称,例如:
var channel = ably.channels.get('announcements')
channel.attach()
不可能在一次操作中附加到多个通道,即不支持以下内容:
var channel = ably.channels.get('foo:*')
channel.attach()
/* attempting to attach to all channels matching the name foo:* will not work */
由于多种原因,这是不可能的:
在单个操作中附加到无限数量的通道不会因您的客户端设备或我们的服务器终止这些连接而扩展
Ably 集群中的通道在可用资源之间动态分布并频繁移动。每个通道在很大程度上都是自治的,这对于确保系统保持可靠而没有单点故障或拥塞很重要。如果客户端要订阅与通配符匹配的所有通道,则需要维护与集群中可能正在运行通道的每个服务器的连接,以防创建与该通配符匹配的通道。这没有规模。
如果您订阅了通配符频道,则无法提供 Ably 在频道上提供的数据传输保证和服务质量,因为:
但是,因为 Ably 的连接是多路复用的,因此允许您通过同一连接动态地附加和分离任何通道,当然可以通过根据需要附加到通道来有效地订阅通配符通道。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句