关于LIUNX下C++实现MQTT和SSL双向认证的实现

前言

      前段时间,笔者发了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给的示例程序。


将paho.mqtt.c示例程序改造成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++进行了编译测试,运行.......

居然成功了!


MQTT进行SSL双向认证连接

大厂不知道什么时候,居然技术更新了!要求笔者卑微乙方要用SSL双向连接。

笔者按照CSDN各路大神的文章进行了修改,不过比较相中这一篇文章:

使用paho_mqtt_c库实现mqtt的ssl加密通讯_mayue_csdn的博客-CSDN博客_mqtt 启用加密文章目录启用ssl加密不做认证:单向认证:双向认证:版权声明:本文为CSDN博主「根号C」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_38205154/article/details/118726385最近做mqtt加密传输,做此笔记备忘开源库版本:paho.mqtt.c-1.3.6.tar.gz编译:将paho_mqtt_c/CMakeList.txt中:启用SSL编译SET(PAHO_WITHhttps://blog.csdn.net/mayue_web/article/details/121423153在对应的地方把SSL代码加上去就好了。

————————

单独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更上一层楼了。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星羽空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值