本文主要介绍了openHarmony分布式软总线开发及其相关流程。首先,在软总线的初始化方面,需要进行一系列步骤。其中,通过调用InitService()函数来发现服务。具体步骤如下:
1. 初始化g_deviceInfo结构体:在初始化服务之前,首先需要对设备信息进行初始化,并将其存储在全局的g_deviceInfo结构体中。
2. 初始化全局g_publishModule和g_capabilityData:在初始化服务之前,还需要对全局的g_publishModule和g_capabilityData进行初始化。这两个全局变量主要用于存储模块的信息和能力数据。
3. 初始化COAP协议服务:在初始化服务之前,还需要对COAP协议服务进行初始化。具体步骤包括COAP初始化Socket、COAP初始化wifi事件以及创建COAP监听线程。
在初始化完成后,接下来是模块的增加。在这一步骤中,需要将模块添加到g_publishModule中。该步骤的目的是将模块加入到软总线中,以便后续的服务发现和通信。
然后是被发现端发布服务。在该步骤中,需要进行一些初始化操作。具体步骤如下:
1. 初始化InitService()发现服务:首先需要进行InitService()的初始化操作。该操作主要是为服务的发现做准备。
2. 初始化g_deviceInfo结构体:与上一步类似,需要对g_deviceInfo进行初始化,以准备后续的服务发现操作。
3. 初始化全局g_publishModule和g_capabilityData:同样,也需要对g_publishModule和g_capabilityData进行初始化,以便后续的服务发现使用。
4. 初始化COAP协议服务:与上一步类似,需要对COAP协议服务进行初始化。具体步骤包括COAP初始化Socket、COAP初始化wifi事件以及创建COAP监听线程。
在发布服务完成后,接下来是CoapRegisterDefualtService()的操作。该操作主要是用于注册默认服务,以便后续的服务调用和通信。
在以上步骤完成后,接入网络时会触发WifiEventTrigger(),并开启软总线。具体步骤如下:
1. 获取本设备ip:首先需要获取本设备的IP地址,以便后续的软总线启动使用。
2. BusManager()启动软总线:通过调用BusManager()函数来启动软总线。具体步骤包括启动监听和启动会话。
- 启动监听:通过调用StartListener()函数,监听与发现端建立连接。
- 启动会话:通过调用StartSession()函数,启动会话,进行服务的调用和通信。
综上所述,openHarmony分布式软总线的开发流程主要包括初始化软总线、被发现端发布服务和开启软总线等步骤。通过这些步骤,可以实现分布式系统中的服务发现和通信。