【发布时间】:2018-12-22 10:32:54
【问题描述】:
我正在追踪蚊子几天 我想检查一些问题:
MQTT 代理在发布/订阅时是否会存储所有发布/订阅主题?如果是,在哪里?
publish 发送消息时哪个struct(或file?),publisher 会搜索该struct 是否已使用主题,然后再使用它?
感谢大家对mqtt初学者的回答。
【问题讨论】:
-
你看过mosquitto源代码了吗?文件名非常具有描述性。
我正在追踪蚊子几天 我想检查一些问题:
MQTT 代理在发布/订阅时是否会存储所有发布/订阅主题?如果是,在哪里?
publish 发送消息时哪个struct(或file?),publisher 会搜索该struct 是否已使用主题,然后再使用它?
感谢大家对mqtt初学者的回答。
【问题讨论】:
简短回答:
为了简单起见,我们假设 QOS 为 0
不,代理只需要保留每个客户端订阅的主题/主题模式的列表。没有必要保留有关已发布消息的任何信息,除非它需要将该消息排队以供具有持久订阅的离线客户端使用,或者它是保留消息。
您的第二个问题实际上没有任何意义,但我假设您的意思是代理在收到来自发布者的新消息时会搜索哪个结构。在这种情况下,我建议您查看名称非常贴切的handle_publish.c
【讨论】: