客户端实现订阅功能以及离线功能
paho-mqtt的下载地址:https://github.com/eclipse/paho.mqtt.c
下载不了的还可以从我的百度网盘下载:
1.客户端订阅命令
mosquitto_sub -c -h 192.168.100.100 -p 1883 -u client_name -P Password1234 -t /abc/123 -i aabccdd --will-topic /abc/123 --will-retain
参数说明:
- -c 清除会话,要和 -i一起使用
- -i 客户端id,每个客户端的唯一标识
- -h 服务端IP
- -p 端口
- -u 用户名
- -P 密码
- -t 订阅的主题
- -will-topic 遗嘱主题,和 --will-retain 一块使用
- –will-retain 类似于离线消息,如果不加的话打开客户端就会有消息,加上后有离线消息则接受,没有则不接收任何消息
此功能 在代码中实现是在 MQTTClient_willOptions 结构体中,使用前要将变量初始化
2.发布topic命令
mosquitto_pub -h 192.168.100.100 -p 1883 -u client_name -P Password1234 -t /abc/123 -q 2 -m "hello" -r
参数说明
- -r 代表retain
- 其余同上
3.客户端订阅的c代码实现
结构体可以参考源码中src的MQTTClient.c文件
实现见下篇