QT中的QMQTT通信

本文详细介绍了如何在Qt环境中利用qmqtt库进行MQTT通信。首先下载并引入qmqtt包,然后在h文件中声明QMQTT::Client对象。接着在cpp文件中实例化并配置客户端,包括设置IP、端口、ID、心跳间隔、用户名和密码,并连接服务器。当连接成功后,订阅所需主题,并定义接收消息的槽函数。此外,还展示了如何发送信息及设置消息的QoS级别。
摘要由CSDN通过智能技术生成

1、将qmqtt的包下载完之后加载到工程中。(qt中qmqtt通讯包-桌面系统文档类资源-CSDN下载

2、h文件添加下列语句

QMQTT::Client *client;

3、在cpp文件中初始化

client = new QMQTT::Client();//分配内存
    client->setHost("XXXX.XXXX.XXXX.XXXX");//设置ip,从配置文件中获取,以下相同
    client->setPort(XXXX);  //设置端口
    client->setClientId("XX"); //设置id,该id保证唯一,如果id重复会掉线
    client->setKeepAlive(50);//设置心跳
    client->setUsername(""); //设置用户名
    client->setPassword(""); //设置用户密码
    client->connect();  //连接服务器
    connect(client,SIGNAL(connected()),this,SLOT(on_connected())); //服务器连接成功后触发
    connect(client, SIGNAL(received(const QMQTT::Message &)), this, SLOT(onMQTT_Received(const QMQTT::Message &))); //当有订阅信息时触发onMQTT_Received槽函数
    connect(client,SIGNAL(disconnected()),SLOT(on_disconnected()));//服务器断开时触发

4、连接成功后设置订阅信息

QString topic = " ”;//要订阅的信息名
quint8 qos = 0; 
client->subscribe(topic, qos);//订阅

5、发送信息

id++;
quint8 qos =0
QMQTT::Message msg(id,topic,data,qos);//topic为要发送信息的名称,只有订阅此名称的客户端才能接受到信息。data为要发送的数据,类型可以时json或者qstring等。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值