在 D-Bus 上,一个进程可以既是服务提供者又是客户吗?

Can a process be both service provider and client on D-Bus

我知道一个进程通常是 D-Bus 上的服务提供者或客户端,一个进程是否可以同时是服务和客户端(我认为没问题)?我在我的项目中有这样的需求,原来有一个服务提供者和客户,有一些需求进来,我需要原来的客户也提供服务。如果理论上可行,有什么缺点吗?

是的,这是可能的,简单易行,并且没有缺点,只要它是适合您要解决的问题的架构。

许多系统服务已经做到了这一点:它们在总线上公开一个系统服务,并且还充当向它们提供信息的其他系统服务的客户端。