在OSX上是否有类似于DBus的东西?

23

在OSX上是否有类似于Linux DBus的东西?我的意思是,是否有默认可用的“消息总线”?

免责声明:我是OSX的新手。

4个回答

23
如果需要使用DBus,您可以通过Homebrew安装它。 Homebrew是Mac OS X的软件包管理器,提供许多库,其中大部分都是针对Linux编写的。 DBus软件包可以在此处找到。
然而,这并不是默认安装的,如果您打算编写Cocoa应用程序,最好使用(分布式)通知中心,就像mipadi在他的帖子中所解释的那样(您也接受了这一点)。
如果您需要一个强大的中间件进行通信,也可以看看来自ZeroCIceTouch,它是使用其Ice框架提供的服务和功能的Cocoa库。 该软件包包含例如IceStorm,它是一个发布/订阅服务器,或者IceGrid服务,可用于构建大型分布式系统。

12

可能最接近的类似物是分布式通知(或用于同一进程通信的通知)。它并不完美,但大致上适用于相同的领域。你可以在苹果的 《通知编程主题》 中了解更多信息,特别是关于分布式通知中心 的部分。


+1:这个功能至少让我更接近我的目标。谢谢! - jldupont

4

从快速浏览来看,“Mach Port”似乎只是一种IPC,没有发布/订阅的更高级语义...或者我错了吗? - jldupont
@jldupont:是的,Mach端口只是队列,是Mac OS X中IPC的最底层 - 还有其他各种建立在这些之上的IPC机制。 - Paul R
感谢澄清。+1 感谢指引我朝 Mach Port 方向...我之前不知道这个。 - jldupont
@jldupont:如果你想要进行IPC,可以考虑使用Mach messagingkqueuenotify等技术。如果你对这方面的内容很认真,可以看看Amit Singh的书籍。 - Paul R

-3

2
MacPorts是正确的来源:http://www.macports.org/ 真正的MacPorts项目和DarwinPorts爬虫之间有着漫长而争议的历史。 - Matt K

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接