精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Openharmony軟總線之連接模塊分析

系統
openharmony 軟總線需要將不同設備整合到一起,由于不同的設備通信存在差異,如wifi與藍牙之間通信存在差異,軟總線(bus)需要具備有處理不同類型設備之間通信功能。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

軟總線介紹

總線(Bus)是計算機各種功能部件之間傳送信息的公共通信干線,軟總線與總線協議類似存在相似的功能但又又差異。總線協議中多個設備通過公共通信干線來進行通信,設備需要具備收發數據功能。openharmony 軟總線需要將不同設備整合到一起,由于不同的設備通信存在差異,如wifi與藍牙之間通信存在差異,軟總線(bus)需要具備有處理不同類型設備之間通信功能。connect 模塊用于這種不同類型設備管理,當然也包含于不同模塊的連接管理,如認證模塊,

connection模塊

connection 包含的文件類型如下:

  1. connection 
  2.  │ 
  3.  ├── ble        #低功耗藍牙 
  4.  ├── br         #藍牙 
  5.  ├── common       
  6.  ├── interface  #外部調用接口 
  7.  ├── manager    #設備模塊接入、啟停管理 
  8.  └── tcp        #tcp  

 當前設備需要支持的藍牙/wifi/網口通信(目前藍牙應該沒有完善),其他網口和wifi 都基于tcp協議。藍牙BLE/BR 基于藍牙協議,因此當設備A與設備B(wifi)tcp通信時,設備A與設備c(藍牙)同時需要具備有藍牙通信能力。

openharmony軟總線之--連接模塊分析-鴻蒙HarmonyOS技術社區

g_connManager

  1. ConnectFuncInterface *g_connManager[CONNECT_TYPE_MAX] = {0}; 

 g_connManager 用于管理不同類型設備通信功能。其中支持的類似有CONNECT_TCP、CONNECT_BR及CONNECT_BLE。

  1. typedef enum { 
  2.     CONNECT_TCP = 1, 
  3.     CONNECT_BR, 
  4.     CONNECT_BLE, 
  5.     CONNECT_TYPE_MAX 
  6. } ConnectType; 

 由于不同設備通信存在差異,需要通過回調來實現通信方式的配置,通信接口如下:

  1. typedef struct { 
  2.     int32_t (*ConnectDevice)(const ConnectOption *option, uint32_t requestId, const ConnectResult *result); 
  3.     int32_t (*PostBytes)(uint32_t connectionId, const char *data, int32_t len, int32_t pid, int32_t flag); 
  4.     int32_t (*DisconnectDevice)(uint32_t connectionId); 
  5.     int32_t (*DisconnectDeviceNow)(const ConnectOption *option); 
  6.     int32_t (*GetConnectionInfo)(uint32_t connectionId, ConnectionInfo *info); 
  7.     int32_t (*StartLocalListening)(const LocalListenerInfo *info); 
  8.     int32_t (*StopLocalListening)(const LocalListenerInfo *info); 
  9. } ConnectFuncInterface; 

 設備啟動時通ConnServerInit 函數進行初始化。ConnInitTcp、ConnInitBr、ConnInitBle 分別對應3種通信設備類型的初始化

  1. ConnectFuncInterface *ConnInitTcp(const ConnectCallback *callback) 
  2.     if (callback == NULL) { 
  3.         SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "ConnectCallback is NULL."); 
  4.         return NULL
  5.     } 
  6.     if (InitProperty() != SOFTBUS_OK) { 
  7.         SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "Can not InitProperty"); 
  8.         return NULL
  9.     } 
  10.     ConnectFuncInterface *interface = SoftBusCalloc(sizeof(ConnectFuncInterface)); 
  11.     if (interface == NULL) { 
  12.         SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "InitTcp failed."); 
  13.         return NULL
  14.     } 
  15.     interface->ConnectDevice = TcpConnectDevice; 
  16.     interface->DisconnectDevice = TcpDisconnectDevice; 
  17.     interface->DisconnectDeviceNow = TcpDisconnectDeviceNow; 
  18.     interface->PostBytes = TcpPostBytes; 
  19.     interface->GetConnectionInfo = TcpGetConnectionInfo; 
  20.     interface->StartLocalListening = TcpStartListening; 
  21.     interface->StopLocalListening = TcpStopListening; 
  22.     g_tcpConnCallback = callback; 
  23.  
  24.     if (g_tcpConnInfoList == NULL) { 
  25.         g_tcpConnInfoList = CreateSoftBusList(); 
  26.         if (g_tcpConnInfoList == NULL) { 
  27.             SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "Create tcpConnInfoList failed."); 
  28.             SoftBusFree(interface); 
  29.             return NULL
  30.         } 
  31.         g_tcpConnInfoList->cnt = 0; 
  32.     } 
  33.     if (g_tcpListener == NULL) { 
  34.         g_tcpListener = (SoftbusBaseListener *)SoftBusCalloc(sizeof(SoftbusBaseListener)); 
  35.         if (g_tcpListener == NULL) { 
  36.             SoftBusFree(interface); 
  37.             DestroySoftBusList(g_tcpConnInfoList); 
  38.             g_tcpConnInfoList = NULL
  39.             return NULL
  40.         } 
  41.     } 
  42.     g_tcpListener->onConnectEvent = TcpOnConnectEvent; 
  43.     g_tcpListener->onDataEvent = TcpOnDataEvent; 
  44.     return interface; 

interface 接口為tcp 通信方式的配置,ConnectDevice 連接設備,DisconnectDevice 斷開連接,PostBytes 發送數據,GetConnectionInfo 獲取設備端信息,StartLocalListening 啟動監聽,StopLocalListening關閉監聽,注意,設備通過g_tcpListener 將設備掛載到軟總線(bus)上面。每個設備需要通過不同端口建立起服務端和客服端模式,服務端用于監聽數據請求。當有數據到來時,總線上面觸發,經過一系列處理,最終通過g_connManagerCb變量獲取對應數據。

openharmony軟總線之--連接模塊分析-鴻蒙HarmonyOS技術社區
  1. typedef struct { 
  2.     void (*OnConnected)(uint32_t connectionId, const ConnectionInfo *info); 
  3.     void (*OnDisconnected)(uint32_t connectionId, const ConnectionInfo *info); 
  4.     void (*OnDataReceived)(uint32_t connectionId, ConnModule moduleId, int64_t seq, char *data, int32_t len); 
  5. } ConnectCallback; 

 數據接收函數

ConnManagerRecvData

  1. void ConnManagerRecvData(uint32_t connectionId, ConnModule moduleId, int64_t seq, char *data, int32_t len) 
  2.     ConnListenerNode listener; 
  3.     int32_t ret; 
  4.     char* pkt = NULL
  5.     int32_t pktLen; 
  6.  
  7.     if (data == NULL) { 
  8.         return
  9.     } 
  10.  
  11.     if (len <= (int32_t)sizeof(ConnPktHead)) { 
  12.         SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "len %d \r\n", len); 
  13.         return
  14.     } 
  15.  
  16.     ret = GetListenerByModuleId(moduleId, &listener); 
  17.     if (ret == SOFTBUS_ERR) { 
  18.         SoftBusLog(SOFTBUS_LOG_CONN, SOFTBUS_LOG_ERROR, "GetListenerByModuleId fail moduleId %d \r\n", moduleId); 
  19.         return
  20.     } 
  21.  
  22.     pktLen = len - sizeof(ConnPktHead); 
  23.     pkt = data + sizeof(ConnPktHead); 
  24.     listener.callback.OnDataReceived(connectionId, moduleId, seq, pkt, pktLen); 
  25.     return

軟總線通信模塊由不同模塊組合而成,如發現,認證等,當認證模塊通過connect 接入總線時,數據獲取流程為:softbus-> ConnManagerRecvData-> listener.callback.OnDataReceived,可以參考總線認證一塊測試用例。

當然由于當前軟總線功能不完善,部分數據流程存在不完善的情況。

想了解更多內容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術社區

https://harmonyos.51cto.com

 

責任編輯:jianghua 來源: 鴻蒙社區
相關推薦

2022-03-18 15:29:02

Harmony鴻蒙架構

2021-07-02 09:16:21

鴻蒙HarmonyOS應用

2022-03-21 15:02:05

Harmonyhiperf鴻蒙

2022-05-26 15:28:03

網絡管理Socket 模塊

2022-04-24 15:07:09

GPS模塊on函數鴻蒙

2022-08-12 19:13:07

etswifi連接操作

2022-11-28 15:42:39

分布式軟總線鴻蒙

2021-07-01 14:21:58

鴻蒙HarmonyOS應用

2022-07-19 20:04:31

NAPI模塊鴻蒙

2023-04-17 16:10:14

鴻蒙藍牙

2023-04-26 15:36:51

WPA鴻蒙

2022-06-13 14:31:02

資源調度鴻蒙

2022-03-03 18:39:01

Harmonyioremap鴻蒙

2023-04-26 15:29:35

NAPI模塊鴻蒙

2015-09-11 09:15:32

RyuSDN

2022-01-26 15:07:04

bytrace工具OpenHarmon

2022-02-09 19:25:49

Hi3861WiFi操作鴻蒙

2022-09-06 15:25:22

Wifi設備開發

2021-02-16 10:55:02

Nodejs模塊

2023-08-17 15:01:08

ArkUI布局渲染
點贊
收藏

51CTO技術棧公眾號

爱久久·www| 亚洲GV成人无码久久精品| 91视频成人| 亚洲精品久久7777| 狠狠久久综合婷婷不卡| 亚洲午夜18毛片在线看| 亚洲色大成网站www| 免费看的黄色欧美网站| 久久国产成人精品| 国产精品色呦呦| 91色精品视频在线| 亚洲国产成人精品激情在线| 国产一区二区三区日韩精品 | 精品国产污污免费网站入口 | 久久精品女同亚洲女同13| 欧美舌奴丨vk视频| 一区二区三区四区高清精品免费观看 | 欧美日韩电影一区二区| 在线不卡免费视频| 亚洲欧洲午夜| 北条麻妃一区二区三区中文字幕 | 久久综合九色综合97婷婷女人| 国产精品自产拍在线观看| 久久久无码精品亚洲国产| 九九精品久久| 精品久久久久香蕉网| 美女少妇一区二区| 黄色在线观看www| 日本一区二区成人在线| 久久成人资源| 亚洲精品久久久狠狠狠爱| 日本欧美久久久久免费播放网| 欧美激情欧美激情在线五月| 制服丨自拍丨欧美丨动漫丨| 青青草原在线亚洲| 欧美精品一区二区不卡| www.成人黄色| 成人在线视频观看| 日韩欧美亚洲范冰冰与中字| 日韩av中文字幕第一页| a天堂中文在线官网在线| 日本一区二区免费在线观看视频 | 天海翼在线视频| 免费毛片在线不卡| 亚洲国产日韩欧美综合久久| 天天综合色天天综合色hd| 亚洲精品久久久蜜桃动漫| 九九在线精品视频| 国产精品久久久久久久美男 | 色婷婷av久久久久久久| 青青青在线视频播放| 中文字幕在线观看网站| 亚洲欧洲另类国产综合| 亚洲欧美一区二区原创| av中文资源在线| 国产女同性恋一区二区| 日韩免费av一区二区三区| 猫咪在线永久网站| 97久久精品人人澡人人爽| 精品欧美国产一区二区三区不卡| 亚洲精品久久久久久无码色欲四季 | 日韩在线播放视频| 午夜成人亚洲理伦片在线观看| 成人免费电影网址| 中文字幕亚洲欧美一区二区三区 | 亚洲视频精选| 日韩欧美专区在线| 亚洲熟女一区二区三区| 波多野结衣中文字幕久久| 亚洲码国产岛国毛片在线| 日本三级中文字幕在线观看| 国产黄色小视频在线| 亚洲美女屁股眼交| 久久精品视频16| 手机在线理论片| 色婷婷狠狠综合| 成人免费xxxxx在线视频| 日韩经典一区| 欧美高清www午色夜在线视频| 亚州精品一二三区| 国产精品2区| 日韩色在线观看| 亚洲精品一区二区18漫画| 欧美成人午夜77777| 亚洲人成五月天| 91av手机在线| 红桃视频国产精品| 青青在线视频一区二区三区| 亚洲午夜精品久久久| 国产精品资源站在线| 国产欧美综合精品一区二区| 久草在线免费福利资源| 中文字幕一区二区三区色视频| 97精品国产97久久久久久粉红| 好看的中文字幕在线播放| 精品成人久久av| 蜜臀av免费观看| 在线综合色站| 亚洲天堂网站在线观看视频| 天堂网avav| 国产精品社区| 91久久精品一区| 午夜福利理论片在线观看| 国产欧美久久久精品影院| 潘金莲一级淫片aaaaa免费看| 成人在线黄色电影| 欧美喷水一区二区| 国产精品久久不卡| 久久久久国产| 国产成人福利视频| 成人无码一区二区三区| 日本一区二区三区四区在线视频| 六月婷婷激情综合| 久久婷婷五月综合色丁香| 亚洲第一av在线| av在线免费播放网址| 国产精品亚洲综合久久| 91免费视频国产| 黄色在线视频观看网站| 亚洲综合久久av| 一女二男3p波多野结衣| 亚洲欧美校园春色| 欧美激情网友自拍| 国产内射老熟女aaaa∵| 久久久久88色偷偷免费| 无码 制服 丝袜 国产 另类| 成人乱码手机视频| 在线精品国产成人综合| 日本午夜视频在线观看| 东方aⅴ免费观看久久av| 国产精品免费看久久久香蕉| 粉嫩小泬无遮挡久久久久久| 中文字幕日本不卡| 亚洲黄色av网址| 丝袜美腿综合| 久久久视频精品| 国产熟女一区二区三区五月婷 | 欧美精品三级日韩久久| 欧美 日本 国产| 亚洲黄色三级| 97人人澡人人爽| 国产在线更新| 欧美伦理视频网站| av片在线免费看| 日韩va亚洲va欧美va久久| 欧美日韩国产综合在线| 国产理论在线| 日韩精品中文字| 国产精品xxxx喷水欧美| av亚洲精华国产精华精| 欧美日韩不卡在线视频| 97久久精品| 国模极品一区二区三区| 男人天堂一区二区| 亚洲成人资源网| 欧美一级片黄色| 日韩午夜一区| 你懂的视频在线一区二区| 国模精品视频| 精品五月天久久| 欧美一区二区三区网站| 国产日韩欧美综合一区| 国产又猛又黄的视频| 精品日韩免费| 国产精品自在线| 在线看的av网站| 在线播放亚洲一区| 久草成人在线视频| av亚洲精华国产精华精华| 日本久久久精品视频| 国产精品探花在线观看| 国产精品海角社区在线观看| 国产裸舞福利在线视频合集| 欧美日韩在线直播| 国产精品九九九九九九| caoporen国产精品视频| 丝袜老师办公室里做好紧好爽| 视频一区中文| 91网站免费观看| 国产盗摄一区二区| 精品香蕉一区二区三区| 亚洲无码精品国产| 亚洲午夜影视影院在线观看| 日本少妇xxxx| 日韩精品1区2区3区| 综合视频免费看| 超碰97久久| 全亚洲最色的网站在线观看| 91大神在线网站| 日韩精品一区二区三区三区免费| 99视频在线看| 日本一区二区在线不卡| 永久看看免费大片| 久久久久久久高潮| 中文字幕第50页| 无码少妇一区二区三区| 国产欧美婷婷中文| heyzo中文字幕在线| 亚洲一区第一页| www.香蕉视频| 在线观看亚洲精品视频| 欧美人妻精品一区二区免费看| 久久久久久久久久看片| 天美一区二区三区| 久久久久看片| 黄色a级片免费看| 精品国产91久久久久久浪潮蜜月| 亚洲综合色av| 日韩欧美一区二区三区免费观看 | 巨大荫蒂视频欧美大片| 亚洲国产精品人久久电影| 亚洲天堂2021av| 午夜影院久久久| 黄色录像一级片| 久久久噜噜噜久噜久久综合| 色欲欲www成人网站| 日精品一区二区| 青青青青草视频| 国产精品成人av| 欧美激情论坛| 高清日韩欧美| 亚洲一区久久久| 精品国产欧美日韩一区二区三区| 久久久久久综合网天天| 九义人在线观看完整免费版电视剧| 日韩av网站导航| 校园春色 亚洲| 欧美激情一区二区三区四区| 欧产日产国产精品98| 国产一区二区三区四区在线观看| 国产av无码专区亚洲精品| 亚洲视频中文| 免费观看国产视频在线| 日韩免费看片| 日韩在线三区| 国产一区二区电影在线观看| 免费观看成人高| 岛国成人av| 粉嫩av免费一区二区三区| 精品亚洲二区| 91牛牛免费视频| 亚洲福利影视| 国产一区二区丝袜高跟鞋图片| 桃子视频成人app| 欧美一区二区影院| zzzwww在线看片免费| 欧美激情亚洲激情| 91超碰在线免费| 欧美激情在线狂野欧美精品| 怡红院红怡院欧美aⅴ怡春院| 久久精视频免费在线久久完整在线看| a黄色在线观看| 中文字幕在线国产精品| 香港伦理在线| 色天天综合狠狠色| 日本中文字幕伦在线观看| 中文字幕欧美精品日韩中文字幕| 国产午夜视频在线观看| 亚洲午夜性刺激影院| 国产综合视频一区二区三区免费| 亚洲欧美制服丝袜| 国产精品四虎| 中文字幕亚洲欧美日韩高清 | 爱情电影网av一区二区| 91精品视频在线看| 91精品短视频| 国产一区二区三区四区五区在线| 欧美日韩另类图片| 日本日本精品二区免费| 日韩大片在线| 熟女视频一区二区三区| 欧美日韩国产探花| 国产一区二区视频播放| 麻豆精品网站| 日本人视频jizz页码69| 国产在线不卡视频| 精品一区日韩成人| 国产视频手机在线观看| 欧美日韩综合不卡| av网站免费大全| 精品国产乱码久久久久久久| 天天干在线观看| 国产一区二区三区丝袜| 日韩免费网站| 欧美激情久久久久| 日韩国产激情| 91亚洲va在线va天堂va国| 国产+成+人+亚洲欧洲在线| 人偷久久久久久久偷女厕| 久久网站免费观看| 日韩精品一区二区在线视频| 亚洲一区欧美激情| 日本不卡一区二区在线观看| 国产a久久麻豆| 黄色录像a级片| 国产免费观看久久| 国产亚洲成人av| 在线观看国产日韩| 亚洲经典一区二区| 国产一区二区欧美日韩| 男女视频在线| 国产精品免费在线免费| 8848成人影院| 视频一区二区三| 亚洲国产专区| 色婷婷.com| 91美女片黄在线| 好吊日在线视频| 黑人巨大精品欧美一区免费视频| 亚洲综合一区中| 亚洲福利视频专区| 黄色网址在线免费观看| 奇米4444一区二区三区| 日本一区二区三区视频在线看| 欧美久久综合性欧美| 综合激情在线| 亚洲精品一二三四五区| www.在线成人| 婷婷社区五月天| 色屁屁一区二区| 神马午夜在线观看| 欧美成人亚洲成人| 国产精品伦一区二区| 九九九九精品九九九九| 欧美在线91| 午夜两性免费视频| 久久久久久久久久久电影| 久草网视频在线观看| 777午夜精品免费视频| 日韩a在线观看| 久久久久久久久亚洲| 国产精品国产三级在线观看| 神马影院午夜我不卡| 亚洲在线播放| 精品一区二区视频在线观看| 夜夜揉揉日日人人青青一国产精品| 中文字幕在线网站| 亚洲一区av在线播放| 六月婷婷综合| 久久综合久久久| 亚洲精品黄色| 国产精品一区二区无码对白| 亚洲免费观看高清完整版在线观看 | 欧美黄色三级网站| 91精品麻豆| 亚洲一区三区| 免费成人av在线| 色撸撸在线视频| 欧美性感一类影片在线播放| 久草在线青青草| 国产精品久久久久久久久久小说| 精品一区亚洲| 日韩av播放器| 国产欧美综合在线| 日韩乱码一区二区三区| 国产一区二区三区四区福利| 日韩制服诱惑| 中文字幕一区二区三区有限公司| 免费黄网站欧美| 日韩激情小视频| 欧美一区中文字幕| 午夜dj在线观看高清视频完整版| 97视频中文字幕| 国语对白精品一区二区| 日韩精品人妻中文字幕有码| 欧美午夜精品久久久久久人妖| 你懂的视频在线免费| 奇米4444一区二区三区| 欧美日韩伦理| 99re6在线观看| 亚洲综合成人在线| 五月婷在线视频| 国产a级全部精品| 成人情趣视频网站| 欧美精品 - 色网| 亚洲一二三专区| 日韩精品系列| 国产免费一区视频观看免费| 中文乱码免费一区二区三区下载| 香蕉在线观看视频| 懂色aⅴ精品一区二区三区蜜月| 久蕉在线视频| 亚洲a在线观看| 日韩视频久久| 影音先锋男人在线| 欧美一区二区三区思思人| 国产天堂在线播放视频| 欧美日韩在线高清| 韩国理伦片一区二区三区在线播放| 欧美被狂躁喷白浆精品| 日韩精品视频在线| 日本一区二区三区中文字幕| 99er在线视频| 久久久精品人体av艺术| 国产精品无码在线播放| 国自在线精品视频| 日韩在线中文| 怡红院一区二区| 欧美三级电影网| 国产盗摄——sm在线视频|