【发布时间】:2018-04-11 07:18:43
【问题描述】:
我正在使用 mqtt.js 和 mosca。我想知道有多少客户订阅了一个主题。我怎样才能实现这个目标?
【问题讨论】:
-
你已经尝试了什么?
标签: javascript mqtt mosca
我正在使用 mqtt.js 和 mosca。我想知道有多少客户订阅了一个主题。我怎样才能实现这个目标?
【问题讨论】:
标签: javascript mqtt mosca
在 MQTT 协议级别您不能这样做,发布客户端无法知道给定主题是否有任何订阅者。
虽然您可能可以使用 mosca 钩子和回调来实现一些东西,并想出一种在 $sys 主题空间下发布信息的方法,但您仍然需要不仅计算已显式订阅该主题的客户端,还需要计算匹配通配符订阅。
这个方法很棘手,因为它们只在消息发布时才匹配,所以实际上您最多只能计算在发布时将消息传递到的客户端数量。然后,这将忽略任何具有 QOS 1/2 订阅且在发布时处于脱机状态的客户端,并且消息将排队等待。
总而言之,您需要考虑为什么需要这个数字,因为它通常与发布/订阅消息传递的概念相悖,因为发布者需要关心是否有订阅者。
【讨论】: