具有多个 dbus 服务的单个进程

具有多个 dbus 服务的单个进程

我正在尝试了解 dbus IPC,请帮助我。

如果我们需要通过 dbus 进行通信,则进程需要获取系统/会话总线,然后请求服务名称,然后注册其对象/接口。如果我的理解正确,是否允许从单个进程拥有多个服务?如果允许,dbus 如何区分服务之间的对象(节点)。

提前致谢。

答案1

据我了解,每个进程实例都有一个与守护进程的连接,并且每个实例将获得其自己的唯一 ID。(唯一总线名称)。还有一个众所周知的总线名称,这是应用程序提供的,因此您可以轮询特定的众所周知的总线,而不必通过唯一名称来寻址应用程序。

例如,一个众所周知的名称是 org.bluez,而我系统上当前的一个唯一名称是 1.46

理论上,你可以从一个进程创建多个总线,但我并不真正明白这一点。

参考资料:https://pythonhosted.org/txdbus/dbus_overview.html

相关内容