找回密码
 FreeOZ用户注册
查看: 2020|回复: 5
打印 上一主题 下一主题

[Linux] D-BUS?

[复制链接]
跳转到指定楼层
1#
发表于 19-2-2010 21:59:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
高手出来讲讲D-BUS吧。具体的机制是怎么样的。可以用在不同机器吗?
回复  

使用道具 举报

2#
发表于 20-2-2010 00:55:37 | 只看该作者
D-BUS的D是Desktop的意思,是定位在桌面级的轻量级进程间通讯机制,默认实现是使用domain socket不可以跨机器通讯。

http://en.wikipedia.org/wiki/D-Bus
http://dbus.freedesktop.org

评分

参与人数 1威望 +15 收起 理由
GPS + 15 谢谢分享!

查看全部评分

回复  

使用道具 举报

3#
 楼主| 发表于 20-2-2010 21:55:22 | 只看该作者

桌面级的轻量级进程是指什么呢? 是指内核进程吗? DBUS可以用在一般的用户进程吗? 能不能多讲一点呀。
回复  

使用道具 举报

4#
发表于 20-2-2010 23:29:57 | 只看该作者
原帖由 GPS 于 20-2-2010 21:55 发表

桌面级的轻量级进程是指什么呢? 是指内核进程吗? DBUS可以用在一般的用户进程吗? 能不能多讲一点呀。

桌面级是说D-BUS出现的最初目的,是为了替换KDE的DCOP协议,目的是为了KDE桌面应用之间的交互,和Windows比起来就是要达到那个OLE,DDE,ActiveX, COM之类的效果。

轻量级是说实现,这个D-BUS有一个后台daemon进程,用来转发D-BUS的消息,在这个d-bus daemon上可以创建各种channel,object path,然后其他进程就可以连接上来,或者作为客户端,读取、调用这些d-bus消息,或者作为服务端,实现和处理这些消息。而且,D-BUS还有和QT类似的signal-slots机制。

D-BUS目前既可以作为user space的IPC,也可以作为kernel-user space交互的IPC (system channel)。
D-BUS基本架构

                               
登录/注册后可看大图


[ 本帖最后由 薛定谔猫 于 20-2-2010 23:31 编辑 ]

评分

参与人数 1威望 +20 收起 理由
GPS + 20 谢谢分享!

查看全部评分

回复  

使用道具 举报

5#
 楼主| 发表于 21-2-2010 22:07:23 | 只看该作者
多谢楼上,今天没分了,明天补上。
这个图太清楚了。
有个问题,既然可以类似QT的signal-slot,那么可以用1-n或者n-n的方式吗?
回复  

使用道具 举报

6#
发表于 21-2-2010 22:37:15 | 只看该作者

回复 #5 GPS 的帖子

absolutely yes, 这就是这个设计的目的之一
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+11, 4-11-2024 00:42 , Processed in 0.015783 second(s), 23 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表