该函数的功能是 关闭网络连接,并且释放Linkkit 的所有的占用资源。原型如下:
原型
int IOT_Linkkit_Close(int devid);
接口说明
若设备ID为主设备, 则关闭网络连接并释放Linkkit所有占用资源
参数说明
参数 数据类型 方向 说明
devid int 输入 设备ID
返回值说明
值 说明
0 成功
< 0 失败
先看下该接口的代码 逻辑:
从上面的代码也可以看出,IOT_Linkkit_Close 是与 IOT_Linkkit_Open 相对应的,Close直接会断开 TCP连接,而且会 停止 SDK 自身的 守护、 功能调度线程,释放掉全部的资源,也就是 彻底关闭 了 Linkkit。
注意:通过前面的分析可知,
- ITE_DISCONNECTED 事件是 服务器断开 事件,在这个事件中,TCP是被动中止断开的,因为有 守护线程, 会自动的发起TCP 重新连接,连接成功后,也会 自动的 进行 设备 重新登录,可以说是都是自动的, 用户的程序不需要再重复做这些复杂的专业工作,仅仅需要在 断开时,不再与云服务器进行 通信交互即可。
- IOT_Linkkit_Close 则是彻底的关闭 Linkkit,如果我们想要重新启动Linkkit,我们就需要 从头来过,所有的都要从头来过,包括主设备 xxxx_open, xxxx_connect,创建自定义 事件线程, 子设备添加 等等。