重新启动目标后,pydbus重新连接

时间:2018-12-19 13:07:55

标签: python glib dbus

我正面临以下问题。

我正在使用pydbus python软件包通过使用环境变量DBUS_SYSTEM_BUS_ADDRESS连接到位于同一网络中的目标linux计算机来测试API。

在正常情况下,这很好用,我可以通过创建的代理对象调用任何有效的API。

例如:

import os
import pydbus
os.environ['DBUS_SYSTEM_BUS_ADDRESS'] = \
          "tcp:host=192.168.1.100,port=55556,family=ipv4"
bus = pydbus.SystemBus()
proxy = bus.get("busname", "object_path")
return_value = proxy.method-name(args)

作为测试的一部分,我的目标linux计算机在这之间重新启动,并且当我重新使用代理对象时,出现以下错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/harman/.local/lib/python2.7/site-packages/pydbus/proxy.py", line 47, in get
0, timeout_to_glib(timeout), None)
GLib.Error: g-io-error-quark: The connection is closed (18)

我意识到以前的连接已不存在,因此我尝试使用以下内容重新初始化连接

bus = pydbus.SystemBus()
proxy = bus.get("busname", "object_path")

在bus.get()语句上出现相同的错误。

此问题是否有解决方案/可行的解决方法?

0 个答案:

没有答案