赞
踩
前段时间,笔者发了MQTT系列文章
Liunx下用C语言实现MQTT的接收与发送(上)_星羽空间的博客-CSDN博客Liunx下用C语言实现MQTT的接收与发送https://blog.csdn.net/qq_25662827/article/details/122567741Liunx下用C语言实现MQTT的接收与发送(下)_星羽空间的博客-CSDN博客_c mqtt 发送消息基于paho.mqtt.c实现mqtt,Liunx下用C语言实现。https://blog.csdn.net/qq_25662827/article/details/122621150Liunx下用C++实现MQTT的接收与发送_星羽空间的博客-CSDN博客_c++ mqttLiunx下用C++实现MQTT的接收与发送,基于paho.mqtt.c库https://blog.csdn.net/qq_25662827/article/details/122622498都是基于paho.mqtt.c实现的功能。但是最近,笔者在项目开发中,遇到了一些问题,关于前面自己用C++封装出来的库链接不上别人大厂自己倒腾的MQTT服务器!为了解决问题,笔者倒腾了两个星期!!!但是,还是没能成功。
于是乎,笔者把目光转向了paho.mqtt.c给的示例程序。
其实很简单,把.c改成.cpp就好了。
==》
对文件中的地址信息:
- #define ADDRESS "tcp://mqtt.eclipse.org:1883"
- #define CLIENTID "ExampleClientPub"
- #define TOPIC "MQTT Examples"
- #define PAYLOAD "Hello World!"
- #define QOS 1
- #define TIMEOUT 10000L
进行修改,改成大厂的地址和端口号后,单独g++进行了编译测试,运行.......
居然成功了!
大厂不知道什么时候,居然技术更新了!要求笔者卑微乙方要用SSL双向连接。
笔者按照CSDN各路大神的文章进行了修改,不过比较相中这一篇文章:
————————
单独g++进行了编译测试,运行.......
.......
rc:-8
————————
连不上!!!
赶紧尝试用电脑的MQTTX和MQTTfx进行连接测试,都能成功!!!
那一定是笔者的代码问题了,于是乎,笔者开始了漫长的debug的路程。把MQTTAsync.h和MQTTAsync.c源码进行了精读。一个星期后无果。
最终在偶然的一次摸鱼时候,想到了版本问题。笔者之前用的是1.3.0版本的,现在1.3.10了。
结果,换新版本的paho.mqtt.c后,就能连接了。
这个探索历程成本挺高的啊。被甲方催了很多很多次。笔者真能抗压。嚯嚯嚯……
不过也幸好有这将近一个月的经历,笔者对paho.mqtt.c这个库和MQTT协议和MQTT版本关系有了更深层次的理解。相信,笔者对MQTT的debug更上一层楼了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。