我正在尝试将主题树添加到头文件中,以便在每次启动MQTT代理时访问它们。我正在使用正斜杠"/"进入子分支,例如:
汽车/公共汽车/温度/风扇
在这里,Car是根节点,它分支到总线,总线进一步分支到临时和类似的风扇。
我愿意如上所述创建主题树,C++中的多个分支(QT creator(,并且每当该特定主题发生任何更改时,它还会更新数据。
此外,当它创建树时,如果输入的提取任何数据的主题不正确,它会提示用户错误消息。
从经纪人的角度来看,主题只存在于消息发布时。代理在将消息转发到具有匹配项的客户端之前,会根据每个连接的客户端(以及可能存在的任何 ACL(的订阅主题模式*检查传入消息中的主题。
没有使用将使用的主题列表预先填充代理的概念。
至于客户端,它不需要存储它想要发布消息的主题树。它只需要存储表示该主题的字符串,因为这是您将用于发布消息的任何 MQTT 客户端库将作为输入的内容。
因此,您可以使用#define
来创建将主题表示为字符串的宏。
* 客户端订阅主题模式,而不是特定主题,因为它们可能包含通配符