前言
OpenHarmony 的分布式软总线子系统为 OpenHarmony 系统提供的通信相关的能力,包括:WLAN 服务能力、蓝牙服务能力、软总线、进程间通信 RPC(Remote Procedure Call)等通信能力。
其中主要包括:
●WLAN 服务:为用户提供 WLAN 基础功能、P2P(peer-to-peer)功能和 WLAN 消息通知的相应服务,让应用可以通过 WLAN 和其他设备互联互通。
●蓝牙服务:为应用提供传统蓝牙以及低功耗蓝牙相关功能和服务。
●软总线:为应用和系统提供近场设备间分布式通信的能力,提供不区分通信方式的设备发现,连接,组网和传输功能。
●进程间通信:提供不区分设备内或设备间的进程间通信能力。
下面我们通过阅读 OpenHarmony 4.0 的源码,来解读一下 OpenHarmony 软总线当前的一个实现情况。
设备发现与传输模块
代码框架分析
分布式软总线组件主要代码目录结构如下:/foundation/communication/dsoftbus
├── adapter # 操作系统适配层代码
├── core # 核心代码
│ ├── common # 通用代码
│ ├── authentication # 设备认证机制和设备知识库管理代码
│ ├── bus_center # 组网代码
│ ├── connection # 连接代码
│ ├── discovery # 基于coap协议的设备发现代码
│ ├── transmission # 传输代码
│ └── frame # 框架代码
├── sdk # 运行业务进程代码
│ ├── bus_center # 组网代码
│ ├── discovery # 发现代码
│ ├── transmission # 传输代码
│ └── frame # 框架代码
└── components # 依赖组件代码
其中 interfaces 是提高给外接的接口,比较重要。
softbus_bus_center.h: 声明软总线组网的函数和常量。函数可用于执行以下操作:在 LNN 中添加设备和从 LNN