D 总线连接名称和对象路径

问题描述 投票:0回答:1

我开始了解D-bus。我对 D-bus 连接名称(

dbus_bus_request_name
)和对象路径(
dbus_connection_register_object_path
)注册有一些疑问。 1. 我们可以注册多个同名的对象路径吗? 2. 必须将名称注册到 D-bus 连接吗?即仅注册对象路径就足够了?

embedded-linux dbus
1个回答
0
投票

每次对等点连接到 dbus 消息总线守护进程(dbus-daemon 是最著名的实现)时,守护进程都会为该连接分配一个唯一的名称。对等方可以建立的连接数量没有限制。 默认连接的唯一名称对连接(至少是那些可以服务的连接)没有好处,因此需要通过

dbus_bus_request_name
请求其他已知名称。 这里需要建立一件基本的事情,dbus 在连接之间交换消息,就消息而言,它有一个发送者和一个接收者,尽管接收者需要消息的附加信息,如 object_path 和 interface_name 来正确处理请求,对于守护进程来说,只有发送者和接收者的名字很重要。

每个对象可能实现不同的接口,有像introspection这样的标准接口,可以帮助其他对等点发现每个对等点公开了哪些对象和接口。从这一点开始就更直观了,每个接口都可以像许多 OO 语言一样有方法、信号和属性。

© www.soinside.com 2019 - 2024. All rights reserved.