簡體   English   中英

適用於Windows Communication Foundation的Linux / Mac OS X等效項

[英]Linux/Mac OS X equivalents for Windows Communication Foundation

- 編輯 -

Linux和Mac OS X的哪些應用程序開發框架/組件模型類似於Windows Communication Foundation&COM,它們提供高級IPC機制來操作/與軟件應用程序通信?

通過高級通信模型,我的意思是RPC,發布/訂閱等。

我正在為交互設備編寫軟件,這些軟件可以綁定在某些軟件中操作計算和數據。 到目前為止,我可能有一個帶有物理滑塊的控制面板,這些滑塊綁定到Excel,Calculate或Numbers中加載的電子表格中的各個單元格。 我有辦法感知源自設備的事件,但交互子系統(X11,資源管理器等)不可擴展以處理新類型的交互事件,因此我需要捕獲並傳輸自己的事件到軟件和從軟件傳輸他們受到約束。

此外,我想控制的大多數應用程序都無法修改以響應這些新類型的事件。 並且模擬熱鍵和快捷鍵序列的表達力不夠,盡管它會利用現有的交互子系統。 這就是我對平台特定框架感興趣的原因,因此我可以利用預先存在的鈎子來控制軟件。

由於這是用於用戶交互,因此需要具有較低的延遲。 我想選擇無狀態的異步通信。

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

- 原始問題 -

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

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

如果Linux應用程序足夠現代,您可以利用D-Bus 它主要是來自KDE的DCop的后代,而在較小程度上來自GNOME的Bonobo,所以如果它更老,你可能會看到其中的一個。 當然,這假設它使用其中一個工具包。

如果它甚至比那個更老或使用沒有任何高級IPC的工具包(例如Motif(我認為)),你可能最終不得不訴諸管道,套接字,fifos以及我可能忘記的任何其他東西。 當然,這假定應用程序對於那些東西有某種鈎子。

以下是與Mac OS X上的網絡相關的指南列表。它涵蓋了來自低級套接字通信的不同級別的網絡http://developer.apple.com/documentation/Cocoa/Networking-date.html#doclist

它涵蓋:

  • Core Foundation網絡功能可與低級BSD套接字一起使用。
  • Cocoa流類從流中讀取數據並將數據寫入流。
  • Mac OS X中提供的Web服務客戶端框架。
  • Bonjour在可可或碳應用中。
  • URL加載系統,用於處理URL和傳輸URL內容
  • 分布式對象編程 - 不同線程或不同進程中的Objective-C對象之間的通信

否則, Mac OS X完全符合Posix標准的unix系統,因此您可以找到與Linux上類似的IPC系統。

或者您可能正在使用Mac OS X 系統服務系統,該系統允許一個應用程序訪問另一個應用程序的功能。 應用程序宣傳他們提供的服務。 有關詳細信息,請閱讀鏈接Apple文檔。

最近的堂兄將是您選擇的語言中的libsoap和等效的SOAP庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM