成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenWrt開發必備軟件模塊——ubus

開發
OpenWrt 提供了一個系統總線ubus,它類似于Linux桌面操作系統的d-Bus,目標是提供系統級的進程間通信(IPC)功能。ubus在設計理念上與d-Bus基本保持一致,提供了系統級總線功能,與d-Bus相比減少了系統內存占用空間,這樣可以適應于嵌入式Linux操作系統的低內存和低端CPU性能的特殊環境。

作者|傅寬,單位:中國移動智慧家庭運營中心

?Labs 導讀

OpenWrt 提供了一個系統總線ubus,它類似于Linux桌面操作系統的d-Bus,目標是提供系統級的進程間通信(IPC)功能。ubus在設計理念上與d-Bus基本保持一致,提供了系統級總線功能,與d-Bus相比減少了系統內存占用空間,這樣可以適應于嵌入式Linux操作系統的低內存和低端CPU性能的特殊環境。

ubus為openwrt平臺開發中的進程間通信提供了一個通用的框架。它讓進程間通信的實現變得非常簡單。ubus實現的基礎是unix socket,即本地socket,它比用于網絡通信的inet socket更高效,更具可靠性。unix socket客戶端和服務器的實現方式和網絡socket類似。

圖片

Part 01  如何實現一個簡單的unix socket服務器和客戶

首先,建立一個socket server端,綁定到一個本地socket文件,并開啟對clients連接的監聽。其次,建立一個或多個socket client端,連接server。client和server相互發送消息。client或server收到對方消息后,針對具體消息進行相應處理。

Part 02  ubus通信框架 

ubus同樣實現了上述組件,并對socket連接以及消息傳輸和處理進行了封裝。

ubus提供了一個socket server:ubusd。因此開發者不需要自己實現server端。

ubus提供了創建socket client端的接口,并且提供了的客戶端供用戶直接使用。

ubus的內部框架大體如下圖:

圖片

其中的Ubus Daemon就是ubusd,它是一個服務管理的服務器。上圖右下角的組件是一個Client,用于向ubusd請求服務。而左下角是一個服務提供者(相對于ubusd它其實也是個Client,這里稱之為Server實際上是相對于服務請求者Client而言,不要搞混了)。上圖中Server和Client之間通訊的消息采用json格式。

Part 03  ubus消息格式及有效通信的方式

ubus對client和server之間通信的消息為json格式。

ubus對client端的消息處理抽象出“對象(object)”和“方法(method)”的概念。一個對象中包含多個方法,client需要向server注冊自己的處理方法。對象和方法都有自己的名字,請求方只需在消息中指定要調用的對象和方法的名字即可。

Part 04  ubus引用的一些動態庫 

libubus.so:創建socket,進行監聽和連接,發送消息等接口函數。

libubox.so:等待和讀取消息。

libblobmsg.so,libjson.so:提供了封裝和解析json數據的接口,編程時不需要直接使用libjson.so,而是使用libblobmsg.so提供的更靈活的接口函數。

使用ubus進行進程間通信不需要編寫大量代碼,只需按照固定模式調用ubus提供的API接口即可。?

責任編輯:未麗燕 來源: 移動Labs
相關推薦

2011-09-30 15:05:02

Android應用十一

2012-11-19 08:27:15

傲游瀏覽器

2023-07-18 08:46:34

開發必備軟件工具

2013-08-28 11:35:22

傲游

2012-05-16 14:03:30

軟件、iphone

2021-01-27 22:27:58

電腦裝機軟件

2021-03-12 08:56:25

電腦裝機軟件Edge瀏覽器

2010-01-05 16:58:43

圖片處理

2021-05-08 08:05:46

電腦裝機軟件Windows

2023-06-20 12:12:24

Zathura文檔查看器

2010-07-06 11:47:19

RationalJazzWebServices

2018-05-13 15:34:15

軟件定義存儲SDS數據

2014-06-13 10:55:15

移動WebApp開發

2011-08-05 10:48:11

iPhone開發 Objective- Cocoa Touc

2015-07-16 17:14:21

終端開發

2020-01-18 15:15:11

程序員WindowsJava

2022-11-05 08:14:25

開發工具瀏覽器

2015-04-14 09:38:35

軟件開發人員便利工具

2022-02-11 23:57:23

Windows 10微軟軟件

2019-02-22 10:52:01

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 色婷婷久久综合 | 欧美日韩视频在线播放 | 亚洲色图综合 | 久草视频在线播放 | 成人精品在线观看 | 欧美日韩成人在线 | 亚洲免费在线观看 | 日韩网站在线 | 亚洲欧美日韩中文在线 | 久久激情视频 | 蜜桃特黄a∨片免费观看 | www亚洲免费国内精品 | 国产精品成人一区二区三区夜夜夜 | 日日草天天干 | 精品99爱视频在线观看 | 中文字幕国产精品 | 午夜精品久久久久久久久久久久 | 日本视频在线播放 | 欧美激情久久久 | 黑人中文字幕一区二区三区 | 国产高清精品在线 | 成人网在线观看 | 69亚洲精品 | 色播久久久 | 99re热这里只有精品视频 | 99精品在线免费观看 | 亚洲精品v日韩精品 | 亚洲精品一区国产精品 | 国产 日韩 欧美 在线 | av在线播放网 | 91久久视频 | 国产成人jvid在线播放 | 国产精品一区二区三级 | 亚洲国产精品一区二区久久 | 日韩中文视频 | 日本久久精品 | 日韩在线大片 | 99视频久| 一级日批片 | 天天干 夜夜操 | 久草青青草 |