6

- 編集 -

Linux および Mac OS X のどのアプリケーション開発フレームワーク/コンポーネント モデルが、ソフトウェア アプリケーションの操作/通信のための高レベル IPC メカニズムを提供する Windows Communication Foundation & COM に類似していますか?

高レベルの通信モデルとは、RPC、パブリッシュ/サブスクライブなどを意味します。

私は、いくつかのソフトウェア内での計算とデータの操作にバインドできる相互作用デバイス用のソフトウェアを作成しています。これまでのところ、Excel、Calculate、または Numbers にロードされたスプレッドシート内のさまざまなセルにバインドされた物理的なスライダーを備えたコントロール パネルがあるかもしれません。デバイスから発生したイベントを感知する方法はありますが、対話サブシステム (X11、Explorer など) は、新しいタイプの対話イベントを処理するように拡張できないため、独自のイベントをキャプチャして、ソフトウェアとの間で転送する必要があります。彼らが縛られている。

また、制御したいアプリケーションのほとんどは、これらの新しいタイプのイベントに対応するように変更することはできません。また、既存の対話サブシステムを利用することはできますが、ホットキーとショートカットのシーケンスをシミュレートしても表現力は十分ではありません。これが、私がプラットフォーム固有のフレームワークに興味を持っている理由です。そのため、既存のフックを利用してソフトウェアを実際に制御できます。

これはユーザー インタラクション用であるため、低レイテンシである必要があります。ステートレスな非同期通信のオプションも欲しいです。

この質問について考えてみたところ、2 つの質問をする必要があることがわかりました。1 つは高レベルの IPC に関するもので、もう 1 つはソフトウェア オブジェクトのメソッドを呼び出すことができるオブジェクト コンポーネント モデルに関するものです。

-- 元の質問 --

Linux および Mac OS X 上の Windows Communications Foundation に最も類似した機能を提供する通信/コンポーネント フレームワークはどれですか?

私の研究グループは、ソフトウェア アプリケーションを操作/操作するための新しいタイプのデバイスを含む、インタラクティブ アプリケーション用のある種のアプリケーション開発フレームワークの開発を開始しています。このフレームワークで構築されたソフトウェアが 3 つの主要な OS プラットフォーム間で移植できるように、アダプター パターンを使用して、デバイス/デバイス アプリケーション/アプリケーションまたはデバイス/アプリケーション通信の抽象化を提供したいと考えています。

4

3 に答える 3

4

これは、Mac OS X でのネットワーキングに関連するガイドのリストです。低レベルのソケット通信からhttp://developer.apple.com/documentation/Cocoa/Networking-date.html#doclistまで、さまざまなレベルのネットワーキングをカバーしています。

それはカバーします:

  • 低レベルの BSD ソケットで動作する Core Foundation ネットワーク機能。
  • ストリームからデータを読み書きするための Cocoa ストリーム クラス。
  • Mac OS X で利用可能な Web サービスのクライアント側フレームワーク。
  • Cocoa または Carbon アプリケーションの Bonjour。
  • URL を操作し、URL コンテンツを転送するための URL Loading System
  • 分散オブジェクト プログラミング - 異なるスレッドまたは異なるプロセスの Objective-C オブジェクト間の通信

それ以外の場合、Mac OS Xは Posix に完全に準拠した UNIX システムであるため、Linux と同様の IPC システムを見つけることができます。

あるいは、あるアプリケーションが別のアプリケーションの機能にアクセスできるようにするMac OS X System Servicesを求めているのかもしれません。アプリケーションは、提供するサービスを宣伝します。詳細については、リンクされた Apple のドキュメントを参照してください。

于 2009-06-04T06:34:16.713 に答える
1

一番近いものは、選択した言語のlibsoapと同等の SOAP ライブラリです。

于 2009-06-03T13:43:58.357 に答える