1.命令行方式
为了保证客户端能够收且仅收到一次,需要在发布消息时,设置clean_session=false,qos=2,具体到命令行为./mosquitto_pub -q 2 -t 具体的topic -m 具体的消息
retain说明:
在MQTT协议中,PUBLISH消息固定头部RETAIN标记,只有为1才要求服务器需要持久保存此消息,除非新的PUBLISH覆盖。
对于持久的、最新一条PUBLISH消息,服务器不但要发送给当前的订阅者,并且新的订阅者(new subscriber,同样需要订阅了此消息对应的Topic name)会马上得到推送。
2. MQTT Client library for C
首先在linux下,解压缩paho.mqtt.c-master(C lib).zip,然后make,make install即可
cliend端示例代码
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "MQTTClient.h"
#define ADDRESS "tcp://localhost:1883"
#define CLIENTID "ExampleClientPub"
#define TOPIC "MQTT Exa