我正在尝试了解 dbus IPC,请帮助我。
如果我们需要通过 dbus 进行通信,则进程需要获取系统/会话总线,然后请求服务名称,然后注册其对象/接口。如果我的理解正确,是否允许从单个进程拥有多个服务?如果允许,dbus 如何区分服务之间的对象(节点)。
提前致谢。
答案1
据我了解,每个进程实例都有一个与守护进程的连接,并且每个实例将获得其自己的唯一 ID。(唯一总线名称)。还有一个众所周知的总线名称,这是应用程序提供的,因此您可以轮询特定的众所周知的总线,而不必通过唯一名称来寻址应用程序。
例如,一个众所周知的名称是 org.bluez,而我系统上当前的一个唯一名称是 1.46
理论上,你可以从一个进程创建多个总线,但我并不真正明白这一点。