2017-04-07 47 views
1

調用烏思方法我用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預計從方法的過程,但超時答覆。但是,我不明白的是,如果再次調用,該方法會立即執行。換句話說,該塊只在第一次出現。有人可以推薦我這種行爲的補救措施,並幫助我理解它?

+0

你能提供你在做什麼的更完整的例子嗎?代碼是否高於所有? 此外,什麼Python綁定您使用的? – JoGr

回答

0

你可能會發現它很有用像Bustledbus-monitor一個d-Bus的分析工具,調試這一點。他們會告訴你什麼時候該消息併發送答覆,是否返回任何錯誤,並在那裏的時間都花在。