【问题标题】:How many clients subscribed to a topic using MQTT有多少客户端使用 MQTT 订阅了一个主题
【发布时间】:2018-04-11 07:18:43
【问题描述】:

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

【问题讨论】:

  • 你已经尝试了什么?

标签: javascript mqtt mosca


【解决方案1】:

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

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

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

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

【讨论】:

  • 我明白了,谢谢。我的第一个想法是,当客户收到该主题中的某个消息时,他会发送一条带有状态的消息,但我不知道是否正确
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
  • 2020-04-26
  • 2015-09-04
  • 2021-08-24
相关资源
最近更新 更多