简介
libmosquittopp.so是对C库libmosquitto.so的C++封装库,提供了相比libmosquitto.so更简介方便的接口和使用方式。
接口介绍
connect
连接Mqtt服务器
disconnect
断开Mqtt连接
loop_start
启动一个线程来处理网络通信
loop_stop
调用此函数一次可停止以前使用loop_start创建的网络线程。对于要结束的网络线程,必须事先调用disconnect或将force参数设置为true
tls_opts_set
设置SSL/TLS高级选项,必须在connect之前调用
tls_set
为客户端配置SSL/TLS证书。必须在connect之前调用
tls_insecure_set
在服务器证书中配置服务器主机名的验证。如果该值设置为true,则表示不验证服务器主机名,必须在connect之前调用
username_pw_set
配置用户名和密码,必须在connect之前调用
subscribe
订阅指定topic
unsubscribe
取消已经订阅的指定topic
publish
向服务器发送数据
on_connect
连接结果回调通知
on_disconenct
结束连接结果回调通知
on_publish
发送数据结果回调通知
on_message
收到服务器发送的消息通知
on_subscribe
订阅topic结果回调通知
on_unsubscribe
取消订阅的结果回调通知
mosqpp::lib_cleanup
释放资源
代码实现
MqttDemo.h
#include <mosquittopp.h>
class MqttDemo: public mosqpp::mosquittopp {
public:
MqttDemo() {
}
virtual ~MqttDemo() {
}
virtual void on_connect(int rc);
virtual void on_disconnect(int rc);
virtual void on_publish(int rc);
virtual void on_message(const struct mosquitto_message* message);
virtual void on_subscribe(int mid, int qos_count, const int* granted_qos);
virtual void on_unsubscribe(int mid)