Javascript 有多少客户端使用MQTT订阅了一个主题

Javascript 有多少客户端使用MQTT订阅了一个主题,javascript,mqtt,mosca,Javascript,Mqtt,Mosca,我正在使用mqtt.js和mosca。我想知道有多少客户订阅了一个主题。如何实现此目标?在MQTT协议级别,您无法做到这一点,发布客户端无法知道给定主题是否有订阅者 虽然您可能可以使用mosca钩子和回调实现某些功能,并找到一种在$sys主题空间下发布信息的方法,但您仍然需要不仅统计已明确订阅主题的客户端,还需要统计匹配通配符订阅的客户端 这种get很棘手,因为它们只在消息发布时匹配,所以实际上最多只能计算消息发布时传递到的客户端数量。然后,这将忽略任何具有QOS 1/2订阅的客户端,这些客户端

我正在使用mqtt.js和mosca。我想知道有多少客户订阅了一个主题。如何实现此目标?

在MQTT协议级别,您无法做到这一点,发布客户端无法知道给定主题是否有订阅者

虽然您可能可以使用mosca钩子和回调实现某些功能,并找到一种在$sys主题空间下发布信息的方法,但您仍然需要不仅统计已明确订阅主题的客户端,还需要统计匹配通配符订阅的客户端

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


总而言之,你需要想一想,为什么你想要这个数字,因为它通常与发布者关心是否有订阅者的发布/订阅消息的概念背道而驰。

你已经尝试了什么?我理解,谢谢。我的第一个想法是,当客户收到该主题中的某条消息时,他会发送一条带有状态的消息,但我不知道这是否是正确的方式