2009-06-03 41 views
6

- 編輯 -的Linux/Mac OS X的等價物Windows通信基礎

什麼應用程序在Linux和Mac OS X的開發框架/組件模型類似於Windows通訊基礎& COM,它提供了高層次的IPC機制用於操縱/與軟件應用程序通信?

通過高層次的溝通模式我的意思是RPC,發佈/訂閱等

我正在寫的軟件可以綁定一些軟件中的計算和數據操縱交互設備。到目前爲止,我可能有一個物理滑塊的控制面板,這些滑塊綁定到Excel,Calculate或Numbers中加載的電子表格中的各個單元格。我有辦法檢測來自設備的事件,但交互子系統(X11,Explorer等)不能擴展以處理新類型的交互事件,所以我需要捕獲和傳輸自己的事件到軟件和從軟件傳輸他們綁定到。

而且我最想控制的應用程序不能進行修改,以對這些新類型的事件作出迴應。模擬快捷鍵和快捷鍵序列的表達不夠充分,儘管它會利用現有的交互子系統。這就是爲什麼我對平臺特定的框架感興趣,所以我可以利用預先存在的鉤子來控制野外軟件。

由於這是用於用戶交互的,所以它需要較低的延遲。我希望可以選擇無狀態,異步通信。

我想過這個問題,我意識到我需要問兩個問題。一個是關於高級IPC,另一個是關於對象組件模型,它允許你在軟件對象上調用方法。

--original question--

什麼通信/組件框架提供最類似於Windows通信基礎在Linux和Mac OS X的功能?

我的研究小組已開始開發其中涉及新類型的設備來操作/軟件應用程序進行交互交互式應用某種類型的應用程序開發框架。我們希望使用適配器模式爲設備/設備應用程序/應用程序或設備/應用程序通信提供抽象,以便使用此框架構建的軟件可在3個主要操作系統平臺上移植。

+2

問題形式爲「什麼與平臺MNO上的XYZ等效?」應該說XYZ對他提問者的重要性......以免有人熟悉MNO.FooBar.Framework,但不* * XYZ無法回答。不是說這是一個寵物狗,或者其他任何東西,但是ARRGGGHHH !!!!! – dmckee 2009-06-04 01:47:43

+0

而且,有問題的程序的傳出鏈接也會有用。 – dmckee 2009-06-04 01:53:48

+0

啊。好多了。謝謝。我發現自己想知道X是否提供了你要求的通信層。 – dmckee 2009-06-04 14:03:40

回答

5

如果Linux應用程序足夠現代,您可能可以利用D-Bus。它主要是來自KDE的DCop的後代,在較小的程度上來自GNOME的Bonobo,所以如果它比較年長,你可能會看到其中的一個。當然,它假設它使用這些工具包之一。 (如Motif(我認爲)),你最終可能會不得不訴諸於管道,套接字,fifo以及其他我可能已經忘記的東西(例如,Motif(我認爲)),如果它甚至比這個更早或者使用沒有任何高級IPC的工具包。當然,這是假設應用程序具有某種鉤子。

1

最近的表弟將是您選擇的語言libsoap和等效SOAP庫。

+0

表哥有點太過分了,SOAP只是WCF的一小部分。但是,如果corntoole真正想要的只是一些溝通,SOAP可能是一個好方法。 – OregonGhost 2009-06-03 13:52:38

4

下面是有關在Mac OS網絡引導列表X它涵蓋不同層次,從低級別socket通信網絡了http://developer.apple.com/documentation/Cocoa/Networking-date.html#doclist

的佔地面積:

  • 核心基礎網絡功能 工作帶有低級BSD插座。
  • 可可流類從數據流中讀取數據 並將數據寫入數據流。
  • Web服務客戶端框架 在Mac OS X
  • 卓悅可可或碳 應用程序可用。
  • 網址加載系統來操縱URL和轉移 URL內容
  • 分佈式對象編程 - 在不同的 線程Objective-C的對象或不同的工藝

否則Mac OS X之間的通信是完全POSIX兼容的Unix系統,讓您將找到與Linux上類似的IPC系統。

或者,也許你是在Mac OS X System Services之後,系統允許一個應用程序訪問另一個應用程序的功能。應用程序通告他們提供的服務。有關更多信息,請閱讀鏈接的Apple文檔

相關問題