MQTT订户上更高的QoS

Weebebob

如果我有一个发布者将一条消息发送给我的QoS为1的MQTT代理(至少一次传递),而一个订有QoS 2的订阅者(恰好为一次传递)发送消息,则订阅者是否仍可能收到重复的消息?

我担心的是,发布者可能会将重复的消息发送给代理(因为QoS 1表示可能),然后代理会将它们视为不同的消息,并将所有消息转发给订户。这是MQTT经纪人的工作方式吗?还是它们足够聪明,以至于意识到从发布者那里收到的重复消息都是一样的,然后将其转发给订阅者。

我想要一片T骨牛排

QoS级别介于单个客户端和代理之间。订户还请求QoS级别,并且代理为订户授予订户最大的QoS。

适用于v3.1.1的MQTT规范在3.8.4节介绍了示例中这些不同QoS级别的关系

响应订阅而发送的有效载荷消息的QoS必须是原始发布消息的QoS的最小值和服务器授予的最大QoS。

当订阅者订阅主题时,可能已被授予最大QoS 2的权限但是原始发布者使用QoS1。因此,订阅者可以收到原始发布者发送的消息的副本。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章