首页
社区
课程
招聘
[原创]QT 实现MQTT 协议通信
发表于: 2020-5-31 16:46 9335

[原创]QT 实现MQTT 协议通信

2020-5-31 16:46
9335

链接

最近作业要求,研究了一下MQTT(只能说是简单的实现了一下),顺便使用QT写了一个测试工具
下面是对每一个功能的详解

QMQTT 是QT 提供的MQTT 依赖,需要进行编译后,加载lib文件(有些说的是.a 文件,但我编译完成后就只有lib 文件,尴尴尬尬)。
教程转:链接

在这里插入图片描述

对应方法实现

问题:每次发送消息后,断开连接才另一端才能接受到,尴尴尬尬

原文连接:https://blog.csdn.net/qq_40535097/article/details/106457153

 
private:
    Ui::MainWindow *ui;
    QMQTT::Client * client;
private slots:
    void onMQTT_Received(const QMQTT::Message &message);
    void onMQTT_subscribed(const QString& topic);
client = new Client();

    connect(client,SIGNAL(received(const QMQTT::Message&)),this,SLOT(onMQTT_Received(const QMQTT::Message&)));
    connect(client,SIGNAL(subscribed(const QString&)),this,SLOT(onMQTT_subscribed(const QString&)));
void MainWindow::onMQTT_Received(const QMQTT::Message &message)
{
    // 接受到服务器消息时的处理
    QString strPaylaod = message.payload();
    //QMessageBox::warning(this,"payload",strPaylaod,QMessageBox::Yes,QMessageBox::No);
    QString strLine = ui->textBrowser_msg->toPlainText();

    QDateTime dt = QDateTime::currentDateTime();
    QString strDate = dt.toString(Qt::SystemLocaleLongDate);//日期格式自定义
    strLine += "\n";
    strLine += strDate;
    strLine += "\n";
    strLine += strPaylaod;

    ui->textBrowser_msg->setText(strLine);

}
void MainWindow::onMQTT_subscribed(const QString &topic)
{

    // 订阅成功后的处理
    qDebug() << topic;
     QMessageBox::warning(this,"订阅成功",topic,QMessageBox::Yes);

}

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (4)
雪    币: 9626
活跃值: (1838)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
2
.a 文件是 linux 下的库文件,windows 下就是 .lib
2020-6-1 06:15
1
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
3
CSDN博主秃头的JJ,是你本人吗?
2020-6-1 14:42
0
雪    币: 1918
活跃值: (6290)
能力值: ( LV7,RANK:118 )
在线值:
发帖
回帖
粉丝
4
是的
2020-6-1 23:08
0
雪    币: 1918
活跃值: (6290)
能力值: ( LV7,RANK:118 )
在线值:
发帖
回帖
粉丝
5
谢谢2楼大佬,学到了
2020-6-1 23:09
0
游客
登录 | 注册 方可回帖
返回
//