D-BUS?
高手出来讲讲D-BUS吧。具体的机制是怎么样的。可以用在不同机器吗? D-BUS的D是Desktop的意思,是定位在桌面级的轻量级进程间通讯机制,默认实现是使用domain socket不可以跨机器通讯。http://en.wikipedia.org/wiki/D-Bus
http://dbus.freedesktop.org 原帖由 薛定谔猫 于 20-2-2010 00:55 发表 http://www.freeoz.org/bbs/images/common/back.gif
D-BUS的D是Desktop的意思,是定位在桌面级的轻量级进程间通讯机制,默认实现是使用domain socket不可以跨机器通讯。
http://en.wikipedia.org/wiki/D-Bus
http://dbus.freedesktop.org
桌面级的轻量级进程是指什么呢? 是指内核进程吗? DBUS可以用在一般的用户进程吗? 能不能多讲一点呀。 原帖由 GPS 于 20-2-2010 21:55 发表 http://www.freeoz.org/bbs/images/common/back.gif
桌面级的轻量级进程是指什么呢? 是指内核进程吗? 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基本架构
http://dbus.freedesktop.org/doc/diagram.png
[ 本帖最后由 薛定谔猫 于 20-2-2010 23:31 编辑 ] 多谢楼上,今天没分了,明天补上。
这个图太清楚了。
有个问题,既然可以类似QT的signal-slot,那么可以用1-n或者n-n的方式吗?
回复 #5 GPS 的帖子
absolutely yes, 这就是这个设计的目的之一
页:
[1]