> 文档中心 > Dsoftbus 软总线 代码梳理(未完成)

Dsoftbus 软总线 代码梳理(未完成)

  1. 服务端 接口函数处理入口: (查找函数指针的方式)

 

 

 

  1. 服务发现过程

 

DiscInterfaceByMedium  -> DiscInterfaceProcess (传递 链接类型ble, wifi)

根据 InterfaceFuncType (PUBLISH_FUNC / UNPUBLISH_FUNC / STARTDISCOVERTY_FUNC / STOPDISCOVERY_FUNC), 调用接口StartAdvertise(该接口不同的物理层有不同的具体实现,比如g_discCoapInterface, g_discBleInterface)

1.1 wifi StartAdvertise (前提是wifi AP 链接已经建立)

CoapStartAdvertise->DiscCoapStartDiscovery-->NSTACKX_StartDeviceFind ->CoapServiceDiscoverInner(判断物理链接是否建立)

     1.1.1 CoapPostServiceDiscover  

       A.  显示构建coap://broastip/COAP_DEVICE_DISCOVER_URI

       B.  构建 JSON 字串  包括 设备信息/ IP 地址等

 

    c. CoapSendRequest

        CoapSendRequest(COAP_MESSAGE_NON, discoverUri, data, strlen(data) + 1,      SERVER_TYPE_WLANORETH);

coap协议总结_CXY_CC的博客-CSDN博客_coap协议

  1. 认证过程 : 内部逻辑基础是 mbedtls

AuthVerifyDevice : TCP?HandleIpVerifyDevice:ConnConnectDevice + AuthHandler + (new AuthManager)

mbedtls基础及其应用_@嵌入式系统的博客-CSDN博客_mbedtls

  1. 组网 buscenter

4.1 初始化入口BusCenterServerInit

     4.2 组网入口  JoinLNN

     4.3  INodeStateCb  网路节点状态的变化

  1. 传输 transmission

5.1 CreateSessionServer &RemoveSessionServer  创建删除会话服务,并设置会话相关回调,用户可在回调中处理打开/关闭和消息接收事件。

5.2 OpenSession & CloseSession 创建关闭会话 ,用于收发数据

5.3  SendBytes& SendMessage 通过sessionId向对端设备发送数据