-编辑--
Linux和Mac OS X的哪些应用程序开发框架/组件模型类似于Windows Communication Foundation & COM,后者提供了用于操作软件应用程序/与软件应用程序通信的高级IPC机制?
我所说的高级通信模型指的是RPC、发布/订阅等。
我正在为交互设备编写软件,这些设备可以绑定到一些软件中的计算和数据操作。到目前为止,我可能有一个带有物理滑块控制面板,这些滑块被绑定到电子表格中加载的Excel、Calculate或Numbers中的各种单元格。我有办法感知源自设备的事件,但交互子系统(X11、资源管理器等)不能扩展来处理新类型的交互事件,所以我需要捕获我自己的事件,并将它们传输到它们绑定到的软件。
而且,我想控制的大多数应用程序都不能被修改来响应这些新类型的事件。模拟热键和快捷键序列的表现力还不够,尽管它会利用现有的交互子系统。这就是为什么我对特定于平台的框架感兴趣,这样我就可以利用现有的钩子在野外控制软件。
由于这是用于用户交互,因此需要具有较低的延迟。我也想选择无状态的异步通信。
我已经考虑过这个问题,我意识到我需要问两个问题。一个是关于高级IPC的,另一个是关于对象组件模型的,它允许你在软件对象上调用方法。
--原问题--
哪些通信/组件框架提供的功能与Linux和Mac OS X上的Windows Communications Foundation最相似?
我的研究小组开始为交互式应用程序开发某种类型的应用程序开发框架,这涉及到操作/与软件应用程序交互的新型设备。我们希望使用适配器模式为设备/设备应用程序/应用程序或设备/应用程序通信提供抽象,以便使用此框架构建的软件可以跨3个主要操作系统平台移植。
发布于 2009-06-04 08:08:13
如果Linux应用程序足够现代,你也许能够利用D-Bus。它主要是来自KDE的DCop的后代,在较小的程度上是来自GNOME的Bonobo,所以如果它更旧,你可以查找其中的一个。当然,这假设它使用的是其中一个工具包。
如果它甚至比这更老,或者使用没有任何高级IPC的工具包(例如Motif (我认为)),你最终可能不得不求助于管道,套接字,fifos,以及其他我可能忘记的东西。当然,前提是这个应用程序对这些东西有某种钩子。
发布于 2009-06-04 06:34:17
以下是与Mac上的联网相关的指南列表,它涵盖了从低级套接字通信到http://developer.apple.com/documentation/Cocoa/Networking-date.html#doclist的不同级别的联网
它涵盖了:
<代码>F214
另外,Mac OS X是完全兼容Posix的unix系统,因此您将发现与Linux上类似的IPC系统。
或者你想要的是Mac System Services,一个允许一个应用程序访问另一个应用程序功能的系统。应用程序对其提供的服务进行广告。有关更多详细信息,请阅读链接的Apple文档。
发布于 2009-06-03 13:43:58
最近的近亲是您选择的语言中的libsoap和等效的SOAP库。
https://stackoverflow.com/questions/944808
复制相似问题