服务器和客户端中不同的 Dbus 绑定
Posted
技术标签:
【中文标题】服务器和客户端中不同的 Dbus 绑定【英文标题】:Different Dbus bindings in server and client 【发布时间】:2013-02-23 17:42:58 【问题描述】:我正在尝试实现 Dbus 客户端。 Dbus 服务器实际上是由第三方实现的,我不知道它使用什么绑定(但我猜是 gdbus)。现在我可以在我的客户端应用程序中使用 QDbus 绑定,而不管 Dbus 服务器中使用什么绑定吗? 如果是这样,如何在服务器(例如 glib 类型)和客户端(例如 qt 类型)之间管理数据类型(w.r.t. 复杂数据类型/用户定义的结构)?对此概念的解释将不胜感激。
【问题讨论】:
【参考方案1】:DBus 上的所有类型都有 DBus 类型,绑定只是将它们转换为自己的格式。例如,uint32
类型在 C/C++ 中是 unsigned int
,在 Java 绑定中是 UInt32
。
基本上,所有实现都需要知道消息的有线格式。只要他们理解这种格式,翻译成什么高级数据类型都没有关系。我不会真正称它们为复杂数据类型,因为您只能通过总线发送基本数据类型。
【讨论】:
以上是关于服务器和客户端中不同的 Dbus 绑定的主要内容,如果未能解决你的问题,请参考以下文章