自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenWrt開發(fā)必備軟件模塊——ubus

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

作者|傅寬,單位:中國移動(dòng)智慧家庭運(yùn)營中心

?Labs 導(dǎo)讀

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

ubus為openwrt平臺(tái)開發(fā)中的進(jìn)程間通信提供了一個(gè)通用的框架。它讓進(jìn)程間通信的實(shí)現(xiàn)變得非常簡單。ubus實(shí)現(xiàn)的基礎(chǔ)是unix socket,即本地socket,它比用于網(wǎng)絡(luò)通信的inet socket更高效,更具可靠性。unix socket客戶端和服務(wù)器的實(shí)現(xiàn)方式和網(wǎng)絡(luò)socket類似。

圖片

Part 01  如何實(shí)現(xiàn)一個(gè)簡單的unix socket服務(wù)器和客戶

首先,建立一個(gè)socket server端,綁定到一個(gè)本地socket文件,并開啟對(duì)clients連接的監(jiān)聽。其次,建立一個(gè)或多個(gè)socket client端,連接server。client和server相互發(fā)送消息。client或server收到對(duì)方消息后,針對(duì)具體消息進(jìn)行相應(yīng)處理。

Part 02  ubus通信框架 

ubus同樣實(shí)現(xiàn)了上述組件,并對(duì)socket連接以及消息傳輸和處理進(jìn)行了封裝。

ubus提供了一個(gè)socket server:ubusd。因此開發(fā)者不需要自己實(shí)現(xiàn)server端。

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

ubus的內(nèi)部框架大體如下圖:

圖片

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

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

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

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

Part 04  ubus引用的一些動(dòng)態(tài)庫 

libubus.so:創(chuàng)建socket,進(jìn)行監(jiān)聽和連接,發(fā)送消息等接口函數(shù)。

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

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

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

責(zé)任編輯:未麗燕 來源: 移動(dòng)Labs
相關(guān)推薦

2011-09-30 15:05:02

Android應(yīng)用十一

2023-07-18 08:46:34

開發(fā)必備軟件工具

2012-11-19 08:27:15

傲游瀏覽器

2013-08-28 11:35:22

傲游

2012-05-16 14:03:30

軟件、iphone

2021-01-27 22:27:58

電腦裝機(jī)軟件

2021-03-12 08:56:25

電腦裝機(jī)軟件Edge瀏覽器

2010-01-05 16:58:43

圖片處理

2021-05-08 08:05:46

電腦裝機(jī)軟件Windows

2023-06-20 12:12:24

Zathura文檔查看器

2010-07-06 11:47:19

RationalJazzWebServices

2018-05-13 15:34:15

軟件定義存儲(chǔ)SDS數(shù)據(jù)

2020-01-18 15:15:11

程序員WindowsJava

2015-07-16 17:14:21

終端開發(fā)

2022-11-05 08:14:25

開發(fā)工具瀏覽器

2014-06-13 10:55:15

移動(dòng)WebApp開發(fā)

2011-08-05 10:48:11

iPhone開發(fā) Objective- Cocoa Touc

2015-04-14 09:38:35

軟件開發(fā)人員便利工具

2022-02-11 23:57:23

Windows 10微軟軟件

2019-02-22 10:52:01

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)