当前位置:   article > 正文

OpenHarmony软总线总体功能简要介绍

软总线

一、软总线介绍


        设备间可以通过以太网、WiFi、蓝牙等方式通信。网络通信下,需要在两个设备端分别执行常用的socket通信流程;蓝牙通信也是需要分别执行蓝牙通信步骤,配对,通信等。而且在通信建立之前,对于通信安全、设备认证等操作都需要单独的系统来处理。
        软总线的主要目标就是简化、统一上述过程。在软总线中管理设备认证、组网、通信。开发者不再需要处理设备信任问题,处理创建socket、考虑事件循环等网络编程底层逻辑,不同通信方式差异等,只需要简单调用软总线提供的接口即可。

二、软总线整体架构图

 

sdk:按软总线模块划分为discovery, bus_center, transmission, frame四个大的部分

  •   discovery 发布发现
  •   bus_center 组网
  •   transmission 传输
  •   frame 初始化管理客户端,以及ipc回调stub实现

core:软总线服务端,同样也划分了discovery, bus_center, transmission, authentication, frame, connection等部分

  • frame 服务端初始化,以及ipc stub实现
  • discovery 发布发现
  • bus_center 组网、网络节点信息、通信链路信息、拓扑信息管理等
  • transmission 传输
  • authentication 认证
  • connection 通用连接api实现

三、软总线代码通用套路

  1. 在每个ipc目录下面都包括mini、small、standard三个目录,分别对应轻量系统、小型系统和标准系统中ipc通信处理逻辑。L2系统对应查看standard下代码。
  2. sdk目录中通常包含service和manager,其中service为对外接口的实现,manager为具体的逻辑实现。
  3. 软总线代码中包含很多以virtual命名的源文件,virtual中函数大部分是空函数。实现virtual文件的目的就是用来做逻辑适配,在编译文件gn中根据当前配置设备能力选择编译virtual文件。这样做省掉了宏定义,简化代码。


四、软总线代码整体介绍


├─adapter  软总线调用其他系统能力的接口适配层
│  ├─common
│  │  ├─bus_center
│  │  │  ├─driver  与驱动交互适配
│  │  │  ├─include
│  │  │  ├─network  监听网络状态变化,eth0/wlan0通过netlink监听,蓝牙则监听蓝牙状态变化
│  │  │  ├─platform  获取设备信息
│  │  │  ├─screenstate 监听屏幕状态变化
│  │  │  └─wlan 监听WiFi状态变化
│  │  ├─dfx
│  │  ├─include
│  │  │  └─OS_adapter_define
│  │  │      └─linux
│  │  ├─kernel
│  │  │  └─liteos_a
│  │  ├─log  软总线日志处理
│  │  ├─mbedtls  加解密
│  │  ├─net
│  │  │  ├─bluetooth  蓝牙ble处理适配,广播,gatt client / server
│  │  │  │  ├─ble
│  │  │  │  ├─common
│  │  │  │  └─include
│  │  │  ├─hdi
│  │  │  │  ├─common
│  │  │  │  └─include
│  │  │  └─wifi  WiFi处理适配
│  │  │      ├─common
│  │  │      └─include
│  │  ├─openssl 加解密
│  │  └─range
│  └─default_config  软总线配置信息处理
│      ├─feature_co

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/339855
推荐阅读
相关标签
  

闽ICP备14008679号