gpt4 book ai didi

python - python中的多个d-bus session 总线对象

转载 作者:行者123 更新时间:2023-12-01 06:15:00 24 4
gpt4 key购买 nike

我编写了一个连接到远程计算机上的 d-bus session 总线的脚本,如下所示:

os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.1,port=1234"
bus = dbus.SessionBus()

这工作得很好,只是现在我需要能够连接到不同计算机上的多个 session 总线。我尝试过以下方法:

os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.1,port=1234"
bus1 = dbus.SessionBus()
os.environ["DBUS_SESSION_BUS_ADDRESS"] = "tcp:host=192.168.0.2,port=1234"
bus2 = dbus.SessionBus()

但是这不起作用。对 SessionBus 的第二次调用返回与第一次调用相同的对象。 IE。在这种情况下,两个对象都引用 192.168.0.1 上的 session 总线。似乎只有第一次调用 SessionBus 实际上执行了任何操作,所有后续调用都只是返回第一次调用时创建的对象。有谁知道解决这个问题的方法吗?

最佳答案

回想起来,这是一个令人困惑的问题。 session 总线、系统总线或任何其他 d 总线之间没有根本区别。如果您想连接到特定地址的总线,只需使用 dbus.bus.BusConnection:

bus1 = dbus.bus.BusConnection("tcp:host=192.168.0.1,port=1234")
bus2 = dbus.bus.BusConnection("tcp:host=192.168.0.2,port=1234")

关于python - python中的多个d-bus session 总线对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3776791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com