调用 Dbus 方法而不期望回复



我有一个用python编写的dbus客户端来调用暴露的dbus方法。代码如下

bus = dbus.SessionBus()
service = bus.get_object(PANEL_BUS_NAME, PANEL_BUS_OBJECT)
__panelInterface = dbus.Interface(service, PANEL_BUS_INTERFACE)
__panelInterface.SetBTConnected()

问题是,当第一次调用该方法时,需要一段时间才能执行公开的方法。我的理解是,dbus 期望来自方法进程的回复,但超时。但是,我不明白的是,如果再次调用该方法,该方法会立即执行。换句话说,块仅在第一次发生。有人可以向我推荐这种行为的补救措施并帮助我理解它吗?

您可能会

发现使用D-Bus分析工具(如Bustle或dbus-monitor(进行调试很有用。它们将显示何时发送消息和回复,是否返回任何错误以及时间花费在哪里。

最新更新