适用于Windows Communication Foundation的Linux / Mac OS X等效项

时间:2009-06-03 13:38:36

标签: windows linux wcf macos communication

- 编辑 -

Linux和Mac OS X的哪些应用程序开发框架/组件模型类似于Windows Communication Foundation& COM,提供高级IPC机制来操作/与软件应用程序通信?

通过高级通信模型,我的意思是RPC,发布/订阅等。

我正在为交互设备编写软件,这些软件可以绑定在某些软件中处理计算和数据。到目前为止,我可能有一个带有物理滑块的控制面板,这些滑块绑定到Excel,Calculate或Numbers中加载的电子表格中的各个单元格。我有办法感知源自设备的事件,但交互子系统(X11,资源管理器等)不可扩展以处理新类型的交互事件,因此我需要捕获并传输自己的事件到软件和从软件传输他们受到约束。

此外,我想控制的大多数应用程序都无法修改以响应这些新类型的事件。并且模拟热键和快捷键序列的表达力不够,尽管它会利用现有的交互子系统。这就是我对平台特定框架感兴趣的原因,因此我可以利用预先存在的钩子来控制软件。

由于这是用于用户交互,因此需要具有较低的延迟。我也想选择无状态的异步通信。

我已经考虑过这个问题而且我意识到我需要提出两个问题。一个是关于高级IPC,另一个是关于对象组件模型,它允许您在软件对象上调用方法。

- 原始问题 -

哪些通信/组件框架提供的功能与Linux和Mac OS X上的Windows Communications Foundation最相似?

我的研究小组正在开始为交互式应用程序开发某种类型的应用程序开发框架,该框架涉及操作/与软件应用程序交互的新型设备。我们希望使用适配器模式为设备/设备应用程序/应用程序或设备/应用程序通信提供抽象,以便使用此框架构建的软件可以在3个主要操作系统平台上移植。

3 个答案:

答案 0 :(得分:5)

如果Linux应用程序足够现代,您可以利用D-Bus。它主要是来自KDE的DCop的后代,而在较小程度上来自GNOME的Bonobo,所以如果它更老,你可能会看到其中的一个。当然,假设它使用其中一个工具包。

如果它比那个还要老,或者使用没有任何高级IPC的工具包(例如Motif(我认为)),你可能最终不得不求助于管道,套接字,FIFO,以及我可能忘记的任何其他事情。当然,这假定应用程序有一些钩子。

答案 1 :(得分:4)

以下是与Mac OS X上的网络相关的指南列表。它涵盖了低级别套接字通信的不同级别的网络http://developer.apple.com/documentation/Cocoa/Networking-date.html#doclist

它包括:

  • Core Foundation网络功能 使用低级BSD套接字。
  • Cocoa流类读取数据 来自并将数据写入流。
  • Web服务客户端框架 适用于Mac OS X.
  • 可可或碳中的Bonjour 的应用程序。
  • URL加载系统,用于处理URL和传输 网址内容
  • 分布式对象编程 - 不同的Objective-C对象之间的通信 线程或不同的进程

否则Mac OS X完全符合Posix标准的unix系统,因此您可以找到与Linux上类似的IPC系统。

或者您可能正在使用Mac OS X System Services系统,该系统允许一个应用程序访问另一个应用程序的功能。应用程序宣传他们提供的服务。有关详细信息,请阅读链接的Apple文档。

答案 2 :(得分:1)

最近的堂兄将是libsoap和您所选语言的等效SOAP库。