D-Bus介绍1
1D-Bus是什么D-Bus是一种本地进程间通信的机制,支持点对点的通,以及广播/订阅式的通信方式.D-Bus将要传输的数据结构化为二进制数据,包括不同长度的整数,浮点数,字符串,复合类型等,D-Bus以消息为单位.而不是字节流.这是与tcp的差异.1
2D-Bus组成部分D-Bus有两个主要组成部:1.点对点通信的支持库2.Dbus服务进程(其作用类似于总线,也称之为总线,进程可以连接到这个总线,并在总线上传输消息,一个进程想要连接到总线,就需要支持库提供的接口)1
3总线地址及连接每条总线都有总线地址,进程可以这个地址连接到总线,总线地址类似于”/tmp/dbus_**”socket接口,但也有可能是TCP端口,对于应用开发者来说,都会说客户进程打开并连接到总线.每个连接到总线的连接,我们称之为对象,即每一个连接即一个对象.总线也是一个特殊的对象,总线对象本身提供了很多接口与方法.总线上每个连接都有名字,称为busname,(也可以不设置连接名,比如你不需要提供服务),连接名都是由'.'分开的字符串组,比如hello
test,这个名字称为公共名,对于每一个连接都有一个唯一连接名,用于标识每一个连接.类似于dhcp一样,域名与ip的对应关系,也是多对一的关系.1
4总线,对象(接口,方法or信号)关系如下一条总线可以连接多个对象一个对象可以有多个接口一个接口可以有多个方法.2
D-Bus支持库常用接口2
1dbus_bus_get()原型:DBusConnection*dbus_bus_get(DBusBusTypetype,DBusError*error)Param1:总线类型Param2:错误信息Return:DbusConnectionorNULLDesc:连接到busdaemon总线.2
2dbus_bus_r