View Code? Open in Web Editor
NEW
This project forked from yexiaopeng/qembeddedmqtttest
在Qt中使用嵌入式Mqtt
License: MIT License
QMake 1.01%
C++ 13.90%
C 85.10%
qembeddedmqtttest's Introduction
开发环境:Ubuntu16 64bit + Qt5.5
实现功能:启动后,先Mqtt服务器发送“Start'字符串。然后订阅服务器消息。规定时间内未接收到服务器消息,上传"loop",若接收到消息则打印消息,此后再次循环等待服务器消息。
使用方法为将paho.mqtt.embedded-c下的MQTTPacket/src的代码加入到Qt工程中,然后基于Qt的socket编写 open/close/sendData/getData函数,并在自定义的publish和subscrib调用这四个函数,配合MQTTPacket.h中的函数实现Mqtt的订阅和推送功能。
- open/close/sendData函数基本没问题,需要注意的是getData需要使用read()函数,因为Mqtt的通讯需要比对头部数据,会有移位操作。
- 在subscrib函数中,调用transport_getdata函数前,需要进行数据接收完成判断
- MQTTPacket_read(buf, buflen, transport_getdata) == PUBLISH 为接收服务器发送的订阅的数据,因为要将超时时间设置长一些。
qembeddedmqtttest's People
Contributors