如何理解MQTT3.1.1协议中关于SUBSCRIBE行为的如下描述?

最近在自己实现一个MQTT broker,阅读3.1.1协议的时候无法理解这里的描述:

“如果服务端收到一个SUBSCRIBE报文,报文的主题过滤器与一个现存订阅的主题过滤器相同,那么必须使用新的订阅彻底替换现存的订阅。新订阅的主题过滤器和之前订阅的相同,但是它的最大QoS值可以不同。与这个主题过滤器匹配的任何现存的保留消息必须被重发,但是发布流程不能中断。

有没有大佬能解释一下什么叫做替换现有订阅?难道多个客户端不能订阅完全相同的主题过滤器吗,肯定不是这样的吧,我启动多个终端mosquitto_sub 同一个过滤器topic/#,它们都能收到匹配的发布消息。既然这样那协议里“替换现有订阅”如何理解呢?

阅读 1.8k
1 个回答

这是针对单个客户端而言的啊……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏