首页 > 代码库 > DBus学习

DBus学习

1. 介绍

DBus是一种桌面环境的进程间通讯(IPC)机制,有低时延、低消耗等优点

基于socket(有待考证),提供了一对一的对等通讯
使用dbus-daemon作为后台进程时,可实现多对多通讯

由如下三个层次
- libdbus: 接口库,提供点对点通信和数据交换的能力 
- 守护进程: 即dbus daemon进程,提供多对多的通信机制,进程与daemon建立dbus连接,由daemon进行消息的分发
- 封装库: 特定框架下的封装,如dbus-glib/GDBus, QtDBus

Tip:
在2.26版本后,GTK将dbus绑定移入GLib中
详细参考<dbus-glib和GDBus的区别>

2. DBus组成

DBus组成

3. dbus-daemon

源代码位于dbus/bus/main.c

参考资料:
<D-Bus Tutorial>
<D-Bus Specification>

DBus学习