Qt开发MQTT(二) 之第三方QMQTT

上一篇文章已经介绍了Qt官方提供的MQTT封装的使用方式,除此之外,还有另外一个第三方的公司也提供了针对MQTT的Qt封装接口,其使用方式都差不多,只是接口名称有些变化,这里也简单的介绍一下,可以根据个人喜好来选择使用那种方式。
官网地址:https://www.emqx.io/cn/

下载编译
EMQ也提供了源码供大家下载使用,地址在这里

我们将源码下载后进行编译,编译过程和上一篇文章介绍的差不多,这里就不再详细讲了。

我们使用Release模式编译后,同样也会得到和之前一样的生成文件:

根据前一篇文章的步骤我们将生成库部署到Qt的安装目录。
注意:这两种对MQTT的封装的源码编译生成出来的库名称是一样的,但是提供的接口不一样,所以如果编译了这两种源码,不要全部都部署到Qt安装目录,会覆盖的。如果编译了两份源码并且都想尝试使用, 那么可以将一个部署到Qt安装目录,另一个直接用外部库的方式导入到测试测试项目中进行使用,这两种方法都已经在前一篇文章中详细介绍过了。
接口
EMQ提供的这个MQTT的封装就不像Qt官方提供的那样完善了,我目前找到的也就只有github上的简短介绍,但其实我们有了源码,要去看相应的接口还是挺方便的。在源码里面对每个接口介绍挺详细的。
那么它提供的主要接口有以下这些:

void setHost(const QHostAddress& host);
void setPort(const quint16 port);
void setClientId(const QString& clientId);
void setUsername(const QString& username);
void setPassword(const QString& password);
void setKeepAlive(const int keepAlive);
void setCleanSession(const bool cleansess);
void setAutoReconnect(const bool value);
void setAutoReconnectInterval(const int autoReconnectInterval);
void setWillTopic(const QString& willTopic);
void setWillQos(const quint8 willQos);
void setWillRetain(const bool willRetain);
void setWillMessage(const QString& willMessage);
void connectToHost();
void disconnectFromHost();
quint16 subscribe(const QString& topic, const quint8 qos);
void unsubscribe(const QString& topic);
quint16 publish(const Message& message);
SIGNAL
void connected();
void disconnected();
void error(const QMQTT::ClientError error);
void subscribed(const QString& topic, const quint8 qos);
void unsubscribed(const QString& topic);
void published(const quint16 msgid, const quint8 qos);
void pingresp();
void received(const QMQTT::Message& message);

使用
以上我们把源码已经编译出来了,那么要如何使用它的接口呢,步骤非常简单:
首先,同样是在pro文件中添加
QT += qmqtt

然后连接服务器:
#include “qmqtt.h”
QMQTT::Client *client = new QMQTT::Client(QHostAddress::LocalHost, 1883);
client->setClientId(“clientId”);
client->setUsername(“user”);
client->setPassword(“password”);
client->connectToHost();

完整的示例我们在后面讲完连接服务器后介绍,这里先暂时不讲

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小男孩和胖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值