我正在尝试实现Dbus客户端。 Dbus服务器实际上是由第三方实现的,我不知道它使用了什么绑定(但我猜gdbus)。现在我可以在客户端应用程序中使用QDbus绑定,而不管Dbus服务器中使用的绑定是什么? 如果是这样,在服务器(例如glib类型)和客户端(例如qt类型)之间如何管理数据类型(w.r.t.复杂数据类型/用户定义结构)?非常感谢对这一概念的解释。
答案 0 :(得分:1)
DBus上的所有类型都有DBus类型,绑定只是将它们转换为自己的格式。例如,uint32
类型是C / C ++中的unsigned int
,而在Java绑定中,它是UInt32
。
基本上,所有实现都需要知道消息的有线格式。只要他们理解了这种格式,那么转换为更高级别的数据类型并不重要。我不会把它们称为复杂的数据类型,因为你只能通过总线发送基本数据类型。