我正面临以下问题。
我正在使用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()语句上出现相同的错误。
此问题是否有解决方案/可行的解决方法?