【发布时间】:2018-10-08 15:36:12
【问题描述】:
是否有可能两个客户端订阅了 MQTT 代理中的同一主题。并且根据授权,一些消息会发送给一个客户,而不是其他客户(订阅同一主题)。
【问题讨论】:
标签: mqtt
是否有可能两个客户端订阅了 MQTT 代理中的同一主题。并且根据授权,一些消息会发送给一个客户,而不是其他客户(订阅同一主题)。
【问题讨论】:
标签: mqtt
没有
可以为给定主题订阅任意数量的客户端,但您不能限制哪些客户端可以基于每条消息接收该主题的消息。要么全是主题,要么没有。
【讨论】:
这种方法没有直接的解决方案。但是,我对此解决方案有一个解决方法。
假设您有两个具有 ClientId 的客户端:1 和 2
假设您的主题结构是:stackoverflow/data/{Client-ID}/sensor/ingress
在定义授权参数时,您可以将权限声明为+/+/{Client-ID}/+/+
这将确保主题结构保持不变,但同时,客户端将能够仅从他们自己的主题发布和订阅数据。(具有其客户端 ID 的主题)。
【讨论】: