MQTT再学习MQTT客户端源码分析
作者:深耐猪老汉11_245 | 来源:互联网 | 2023-06-15 16:48
MQTT源码分析,搜索了一下发现网络上讲的很少,多是逍遥子的那几篇。参看:逍遥子_mosquitto源码分析系列参看:M
MQTT 源码分析,搜索了一下发现网络上讲的很少,多是逍遥子的那几篇。
参看:逍遥子_mosquitto源码分析系列
参看:MQTT libmosquitto源码分析
参看:Mosquitto学习笔记
一、目录结构
首先我们还是来看一下 mosquitto-1.4.14 的源码目录结构
然后还有 retain 用于区分新老订阅者
RETAIN标志位只用于 PUBLISH 消息,当服务器收到某个主题的 PUBLISH 消息时,如果RETAIN标志位为1,则表示服务在将该消息发送给所有的已订阅该主题的订阅者后(发送前服务器将RETAIN标志置为0),还需保持这条消息,当有新增的订阅者时,再将这条消息发给新增的订阅者;如果RETAIN标志位为0,则不保持消息,也不用发给新增的订阅者。
目的:
1.将RETAIN标志位置为1,可使新的订阅者收到之前保持的或上一个确定有效的消息。
2.区分新订阅者(RETAIN标志为1)和老订阅者(RETAIN标志为0)
源码中这两个参数的设置都是 0
最后是 mosq 的销毁和库的关闭。(重点)