阿里云IOT C-SDK 源码分析系列(4):IOT_MQTT_Construct 源码分析

      IOT_MQTT_Construct  函数没有开放给 用户使用,它不是一个 API接口,但是对于移植者而言,尤其是关注 底层原理的,这个函数还是非常重要的,不管我们是采用 SDK自带的编译系统进行移植,还是采用“ 代码抽取”的方式进行移植,编写wrapper.c 中的HAL_xxx函数都是必不可少的, 尤其是TCP 连接、断开、读、写的HAL 接口函数,这些 都是具体的硬件层面的 接口函数,目前联网的方式主要有3种,分别是以太网接口、wifi、GPRS/LTE,3种硬件对应3类的HAL接口实现,SDK 将让硬件做了很好的 耦合分离,对于应用层,接口函数都是一模一样的,这就需要我们 针对不同的硬件,对 联网操作接口绑定不同的 硬件 接口函数,那么

IOT_MQTT_Construct  函数就是实现这一功能的,简单的说,该函数最主要的功能有2个,

① 绑定TCP 的连接、断开、读、写 硬件接口 函数的。

② 发起 mqtt 连接。

     该函数的  代码逻辑如下图所示:

     IOT_MQTT_Construct 函数是在 IOT_Linkkit_Connect 函数中执行的,从这里我们也可以看出,IOT_Linkkit_Connect 只需要执行一次,因为它不仅是发起连接服务器,还会进行各种 资源初始化、接口函数绑定等等。如果网络异常,需要重新连接,也不是使用该函数,而是其他的函数,比如 _mqtt_connect.

发布了256 篇原创文章 · 获赞 262 · 访问量 63万+

猜你喜欢

转载自blog.csdn.net/u012351051/article/details/104224557