DBus物件的意義是什麼?

DBus物件的意義是什麼?

儘管閱讀了大量的 DBus 教程,我仍然很難理解整個概念。在我看來,這是迄今為止最好的解釋之一:

http://telepathy.freedesktop.org/doc/book/sect.basics.dbus.html

之所以使用DBus是因為我想在不同的程式之間交換資料。在我看來,提供一個伺服器或如圖 2-2 所示的服務就足夠了。該服務透過我與客戶端共享的介面提供了多種方法。

然後客戶端調用一個方法並獲得答案。

那我錯過了什麼?為什麼需要額外的物件?

我想這只是為了遵守物件和類別的 Java 約定。每個物件代表一個實例。真的很想有人證實這一點。

第一個系統相對於第二個系統有什麼好處?

圖表

答案1

不是按照慣例,而是為了促進高級綁定。

本機物件和物件路徑

您的程式框架可能定義了「物件」是什麼樣的;通常有一個基底類。例如:java.lang.Object、GObject、QObject、python 的基本物件或其他任何東西。我們稱之為本機物件。

低階 D-Bus 協定…不關心本機物件。然而,它提供了一個稱為物件路徑的概念。物件路徑的想法是,更高層級的綁定可以命名本機物件實例,並允許遠端應用程式引用它們。

編輯:

也許您可以只使用 API 和 libdbus 中內建的訊息總線守護進程,以避免使用對象,因此您將以以下通訊方法結束調用方法並獲得答案的客戶端。但請注意,libdbus 旨在成為高階綁定的低階後端,因此 libdbus API 的大部分內容僅對綁定實作有用。

相關內容