使用新型D BUS與桌面應用程式通訊

2021-04-19 08:13:41 字數 1125 閱讀 6168

d-bus 是乙個大有前途的訊息匯流排和活動系統,正開始深入地滲透到 linux 桌面之中。了解建立它的原因、它的用途以及發展前景。

d-bus 本質上是 程序間通訊(inter-process communication)(ipc)的乙個實現。不過,有一些特性使得 d-bus 遠遠不是「只是另乙個 ipc 實現」。有很多不同的 ipc 實現,因為每乙個都定位於解決特定的明確定義的問題。corba 是用於物件導向程式設計中複雜的 ipc 的乙個強大的解決方案。dcop 是乙個較輕量級的 ipc 框架,功能較少,但是可以很好地整合到 k 桌面環境中。soap 和 xml-rpc 設計用於 web 服務,因而使用 http 作為其傳輸協議。d-bus 設計用於桌面應用程式和 os 通訊。

桌面應用程式通訊

典型的桌面都會有多個應用程式在執行,而且,它們經常需要彼此進行通訊。dcop 是乙個用於 kde 的解決方案,但是它依賴於 qt,所以不能用於其他桌面環境之中。類似的,bonobo 是乙個用於 gnome 的解決方案,但是非常笨重,因為它是基於 corba 的。它還依賴於 gobject,所以也不能用於 gnome 之外。 d-bus 的目標是將 dcop 和 bonobo 替換為簡單的 ipc,並整合這兩種桌面環境。由於盡可能地減少了 d-bus 所需的依賴,所以其他可能會使用 d-bus 的應用程式不用擔心引入過多依賴。

中國網管聯盟bitscn.com

桌面/作業系統通訊

術語「作業系統」在這裡不僅包括核心,還包括系統後台程序。例如,通過使用 d-bus 的 udev(linux 2.6 中取代 devfs 的,提供動態 /dev 目錄),當裝置(比如乙個 usb 照相機)插入時會發放出乙個訊號。這樣可以更緊密地將硬體整合到桌面中,從而改善使用者體驗。

d-bus 特性

d-bus 有一些有趣的特性,使其像是乙個非常有前途的選擇。

協議是低延遲而且低開銷的,設計得小而高效,以便最小化傳送的往返時間。另外,協議是二進位制的,而不是文字的,這樣就排除了費時的序列化過程。由於只面向本地機器處理的使用情形,所以所有的訊息都以其自然位元組次序傳送。位元組次序在每個訊息中宣告,所以如果乙個 d-bus 訊息通過網路傳輸到遠端的主機,它仍可以被正確地識別出來。

從開發者的角度來看,d-bus 是易於使用的。有線協議容易理解,客戶機程式庫以直觀的方式對其進行包裝。

桌面應用程式

桌面應用程式 在台式電腦上執行的應用程式稱為桌面應用程式。比如 記事本,word,excel。這種應用程式的特點是 1 缺少共享 2 直接雙擊就可以執行,不需要ie 3 一般以window的視窗形式存在 web應用程式 1 需要ie來執行 2 一般以網頁的形式的存在 3 可以有很多的客戶端來共享。比...

Web應用程式與桌面應用程式的區別

web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...

Web應用程式與桌面應用程式的區別

web delphi 伺服器網路 internet access 如果都是用.net做的話,桌面程式需要開發伺服器端和客戶端兩塊程式,電腦都要安裝.net framework,b s形式的話,只用做伺服器端。但兩者桌面應用可能軟體介面更好控制一些,web形式客戶端的螢幕就不太好空,一般滿足1024 ...