0

我正在使用 mqtt.js 和 mosca。我想知道有多少客户订阅了一个主题。我怎样才能实现这个目标?

4

1 回答 1

1

在 MQTT 协议级别,您不能这样做,发布客户端无法知道给定主题是否有任何订阅者。

虽然您可能可以使用 mosca 钩子和回调来实现某些东西,并想出一种在$sys主题空间下发布信息的方法,但您仍然需要不仅计算已显式订阅主题的客户端,还需要计算匹配的通配符订阅。

这很棘手,因为它们仅在消息发布时才匹配,因此实际上充其量只能计算在发布时将消息传递到的客户端数量。然后,这将忽略任何具有 QOS 1/2 订阅且在发布时处于脱机状态的客户端,并且消息将排队等待。

总而言之,您需要考虑为什么需要这个数字,因为它通常与发布/订阅消息传递的概念相违背,因为发布者需要关心是否有任何订阅者。

于 2018-04-11T16:58:18.707 回答