尽管阅读了大量的DBus教程,我仍然难以理解整个概念。我认为这是迄今为止最好的解释之一:
http://telepathy.freedesktop.org/doc/book/sect.basics.dbus.html
使用DBus的原因是我想在不同的程序之间交换数据。在我看来,提供服务器或如图2-2中所示的服务就足够了。此服务通过我与客户端共享的接口提供了几种方法。
然后,客户端调用一个方法并得到一个答案。
那我错过了什么?为什么需要额外的对象?
我想这只是为了坚持对象类的Java约定。每个对象表示一个实例。真的希望有人能证实这一点。
第一个系统比第二个系统有什么好处?

发布于 2015-03-26 15:58:49
不是按照惯例,而是为了方便高级别的绑定。
本机对象和对象路径您的编程框架可能定义了一个“对象”是什么样子的;通常使用一个基类。例如: java.lang.Object、GObject、QObject、python的基本对象等等。让我们将其称为本机对象。低级别的D总线协议.不关心本机对象。但是,它提供了一个称为对象路径的概念。对象路径的思想是,更高级别的绑定可以命名本机对象实例,并允许远程应用程序引用它们。
您可能只需使用内置于libdbus中的API和消息总线守护进程,以避免使用对象,因此您将以调用方法并获得答案的客户端的通信方式结束。但是,请注意,libdbus的目的是作为更高级别绑定的低级别后端,因此libdbus中的大部分只对绑定实现有用。
https://unix.stackexchange.com/questions/138946
复制相似问题