COAP的安全性是用DTLS加密实现。DTLS的实现需要的资源和带宽较多,如果是资源非常少的终端和极有限的带宽下可能会跑不起来。DTLS仅仅在单播情况下适用。
4. 源代码结构与解析分布式软总线的源代码在communication_services_softbus_lite目录,结构如下:
说明: 目录下所有源码文件将被编译为一个动态库,其它依赖模块在编译的时候加上这个动态库的依赖即可。譬如:分布式调度子系统所在的foundation这个bin文件的编译就依赖这个动态库。
4.1软总线的初始化StartListener()函存在对应不同版本平台的适配,体现了各部分解耦的模块化设计思想,针对不同的硬件设备,组合成最适合该设备的OS。比如创建线程时采用了统一的static void WaitProcess(void)函数,而其内部封装了不同底层API的适配代码。
4.2操作系统适配层HarmonyOS的操作系统底层可以是:HarmonyOS micro kernel,Linux kernel,且Lite OS将成为一个完整的鸿蒙微内核架构。
鸿蒙系统内部各个模块内部使用的函数需要支持针对不同版本平台的适配,体现各部分解耦的模块化设计思想,针对不同的硬件设备,组合成最适合该设备的OS。譬如,创建线程时采用了统一的static void WaitProcess(void)函数,而其内部封装了不同底层API的适配代码。SemCreate在LiteOS中使用LOS_SemCreate创建信号量,在Linux上用sem_init() Posix标准接口创建。
源码目录os_adapter下的代码即实现了分布式软总线对操作系统的适配。
LiteOS是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统,现有基础内核支持任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器等操作系统基础组件,为更好地支持低功耗场景,支持tickless机制,支持定时器对齐。
LiteOS开源项目支持ARM Cortex-M0,Cortex-M3,Cortex-M4,Cortex-M7等芯片架构。
4.3设备发现与连接各个设备以服务的形态推送、发布,发布后周边的设备可以发现、连接并与之通讯交互,源代码位于discovery\discovery_service\source目录中。
轻量设备作为被发现端设备,调用PublishService发布服务。入口代码截图:
以下是针对操作序列中的代码解析截图,供参考.
1) 权限检查