Mqtt发布与订阅功能


包启Mqtt发布与订阅两个VS2010工程,实现了Mqtt的发布与订阅功能
资源截图
代码片段和文件信息

#include 
#include “MQTTClient.h“
#include “stdio.h“
#include “stdlib.h“
#include “string.h“
#include 

#define ADDRESS     “tcp://168.1.3.10:1883“
#define CLIENTID    “ckPub“
#define TOPIC       “track“
#define PAYLOAD     “hello“
#define QOS         0
#define TIMEOUT     10000L

int main(int argc char *argv[])
{
QCoreApplication a(argc argv);

MQTTClient client;
MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;
MQTTClient_message pubmsg = MQTTClient_message_initializer;
MQTTClient_deliveryToken token;
int rc;

MQTTClient_create(&client ADDRESS CLIENTID
MQTTCLIENT_PERSISTENCE_NONE NULL);
conn_opts.keepAliveInterval = 20;
conn_opts.cleansession = 1;

if ((rc = MQTTClient_connect(client &conn_opts)) != MQTTCLIENT_SUCCESS)
{
printf(“Failed to connect return code %d
“ rc);
exit(EXIT_FAILURE);
}



int ch;
int i = 0;
do 
{
ch = getchar();
} while (ch!=‘S‘ && ch != ‘s‘);

struct timeb tStart;
ftime(&tStart);
long long iStart = 1000*tStart.time+tStart.millitm;

while(i<100)
{
struct timeb tMsg;
ftime(&tMsg);
long long iMsg = 1000*tMsg.time+tMsg.millitm;
int m = i+1;
char payload[100]={0};
memcpy(payload&msizeof(int));
memcpy(payload+sizeof(int)&iMsgsizeof(long long));
pubmsg.payload = payload;
pubmsg.payloadlen = 100;
pubmsg.qos = QOS;
pubmsg.retained = 0;

MQTTClient_publishMessage(client TOPIC &pubmsg &token);
/*
printf(“Waiting for up to %d seconds for publication of %s

“on topic %s for client with ClientID: %s

(int)(TIMEOUT/1000) PAYLOAD TOPIC CLIENTID);
*/
rc = MQTTClient_waitForCompletion(client token TIMEOUT);
//printf(“Message with delivery token %d delivered
“ token);
i++;
}
struct timeb tEnd;
ftime(&tEnd);
long long iEnd = 1000*tEnd.time+tEnd.millitm;
printf(“Start:%lld msEnd:%lld msSpend:%lld ms
“iStartiEndiEnd-iStart);

//MQTTClient_disconnect(client 10000);
//MQTTClient_destroy(&client);

return a.exec();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件   32636928  2018-06-09 17:00  MqttPubTestipchmqttpubtest-d1494133mqttpubtest-4d420859.ipch

     文件          2  2018-06-09 17:02  MqttPubTestMqttPubTestDebugcl.command.1.tlog

     文件          2  2018-06-09 17:02  MqttPubTestMqttPubTestDebugcl.read.1.tlog

     文件          2  2018-06-09 17:02  MqttPubTestMqttPubTestDebugcl.write.1.tlog

     文件       1059  2018-06-09 17:02  MqttPubTestMqttPubTestDebugMqttPubTest.Build.CppClean.log

     文件         42  2018-06-09 17:02  MqttPubTestMqttPubTestDebugMqttPubTest.lastbuildstate

     文件       1155  2018-06-09 17:02  MqttPubTestMqttPubTestDebugMqttPubTest.log

     文件          0  2018-06-09 17:02  MqttPubTestMqttPubTestDebugMqttPubTest.unsuccessfulbuild

     文件       2117  2018-06-09 17:00  MqttPubTestMqttPubTestmain.cpp

     文件      59522  2017-03-28 15:22  MqttPubTestMqttPubTestMQTTClient.h

     文件      10437  2017-03-28 15:22  MqttPubTestMqttPubTestMQTTClientPersistence.h

     文件       5706  2017-08-05 11:43  MqttPubTestMqttPubTestMqttPubTest.vcxproj

     文件       1325  2017-08-05 11:43  MqttPubTestMqttPubTestMqttPubTest.vcxproj.filters

     文件        504  2017-08-05 11:42  MqttPubTestMqttPubTestMqttPubTest.vcxproj.user

     文件     118807  2017-08-04 15:17  MqttPubTestMqttPubTestpaho-mqtt3c.dll

     文件       7258  2017-07-20 17:37  MqttPubTestMqttPubTestpaho-mqtt3c.lib

     文件       8500  2017-03-28 15:22  MqttPubTestMqttPubTestpaho_c_pub.c

     文件       7701  2017-03-28 15:22  MqttPubTestMqttPubTestpaho_c_sub.c

     文件   14635008  2018-06-09 17:02  MqttPubTestMqttPubTest.sdf

     文件        900  2017-08-05 11:37  MqttPubTestMqttPubTest.sln

    ..A..H.     13824  2018-06-09 17:02  MqttPubTestMqttPubTest.suo

     文件   30146560  2018-06-09 17:19  MqttSubTestipchmqttsubtest-3b69d27cmqttsubtest-18dfb116.ipch

     文件   32636928  2018-06-09 17:17  MqttSubTestipchmqttsubtest-3b69d27cmqttsubtest-dd58281c.ipch

     文件          2  2018-06-09 17:18  MqttSubTestMqttSubTestDebugcl.command.1.tlog

     文件          2  2018-06-09 17:18  MqttSubTestMqttSubTestDebugcl.read.1.tlog

     文件          2  2018-06-09 17:18  MqttSubTestMqttSubTestDebugcl.write.1.tlog

     文件        151  2018-06-09 17:18  MqttSubTestMqttSubTestDebugMqttSubTest.Build.CppClean.log

     文件         42  2018-06-09 17:18  MqttSubTestMqttSubTestDebugMqttSubTest.lastbuildstate

     文件       1035  2018-06-09 17:18  MqttSubTestMqttSubTestDebugMqttSubTest.log

     文件          0  2018-06-09 17:18  MqttSubTestMqttSubTestDebugMqttSubTest.unsuccessfulbuild

............此处省略39个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)