1

私の息子はMacOS9ボックスを持っており、LeopardベースのMacBookからリモートのAppleEventを送信しています。プログラムで、Windows7ToshibaからTCP/IP経由でリモートAppleEventを送信できる方法はありますか?

4

3 に答える 3

2

それが役立つ場合、アップルイベントはTCP/UDPを介してポート3031で送信されます

高レベルから、アップルイベントまでの4つの部分があります:

  1. データ集約API(データ要求は不透明なメモリ構造に配置されます)。このAPIは、現状では言葉が多く、使用するのが面倒でした。より優れたデータ集約ツールを備えた言語にアクセスできることを感謝します
  2. 変換/シリアル化-不透明なデータ構造は、シリアル化して別のプロセスに転送できるものに変換されます。同じマシンイベントの場合、これはnullシリアル化である可能性があります
  3. 移送データは、あるプロセスから別のプロセスに移送されます。単一のマシンは、おそらくデータのコピーをキューに入れているだけです。リモートマシンはネットワークプロトコルを介して転送されます。ネットワークプロトコルはTCP/IPである可能性があり(ただし、AppleTalkでも機能します)、認証が必要になる場合があります。
  4. デシリアライズ/変換

ほとんどの場合、手順2、3、および4を実行する必要があります。情報を取り戻す必要がない場合は、送信されたイベントのフラグの1つが「応答なし」であるため、4をスキップできます。

AEデータモデルには比較的少数のタイプがあります。私はあなたのOSXマシンにコードを書いて、すべてのタイプを送信し、送信時にパケットをリバースエンジニアリングします。プロセスを高速化するために、Ruby、Objective C、またはPythonからイベントを送信できるOSXマシンでappscriptを使用することをお勧めします。

于 2009-07-08T12:48:29.573 に答える
1

あなたがうなり声の通知について話しているなら、それを使用するためのライブラリがあります。たとえば、これがルビーのうなり声ライブラリです

于 2009-07-08T12:23:54.937 に答える
1

tcpdumpやWiresharkなどを使用して、MacBookとMacOS9ボックスの間でパケットをスニッフィングします。これにより、AppleEventがネットワーク上でどのように見えるかがわかります。

次に、Windowsで選択したプログラミング環境を使用して、これらのパケットを複製します。

作成したコードを、他のアプリケーションで再利用できるライブラリにまとめることをお勧めします。

頑張ってください-これはかなりトリッキーかもしれません!!

于 2009-07-08T12:16:18.130 に答える