【发布时间】:2009-07-08 12:11:24
【问题描述】:
我儿子有一个 MacOS 9 盒子,他从基于 Leopard 的 MacBook 向该盒子发送远程 AppleEvents。有什么方法可以通过 TCP/IP 从我的 Windows 7 Toshiba 以编程方式发送远程 AppleEvents?
【问题讨论】:
我儿子有一个 MacOS 9 盒子,他从基于 Leopard 的 MacBook 向该盒子发送远程 AppleEvents。有什么方法可以通过 TCP/IP 从我的 Windows 7 Toshiba 以编程方式发送远程 AppleEvents?
【问题讨论】:
如果有帮助,apple events are sent on port 3031 via TCP/UDP。
从高层来看,苹果事件有四个部分:
您很可能需要执行第 2、3 和 4 步。如果您不关心获取任何信息,则可以跳过第 4 步,因为已发送事件中的标志之一是“无回复”。
AE 数据模型中的类型相对较少。我会在你的 OS X 机器上编写代码来发送每种类型,并在发送数据包时对其进行逆向工程。为了加快进程,您可能希望在 OS X 机器上使用appscript,它可以让您从 Ruby、Objective C 或 Python 发送事件。
【讨论】:
使用 tcpdump 或 Wireshark 之类的工具来嗅探 MacBook 和 MacOS 9 机器之间的数据包。这将告诉您 AppleEvent 在网络上的样子。
然后使用您在 Windows 上选择的编程环境复制这些数据包。
我建议将您编写的代码打包到一个库中,以便在其他应用程序中重复使用。
祝你好运 - 这可能很棘手!
【讨论】:
如果您在谈论咆哮通知,那么有一些库可以使用它。例如,这里是 ruby 的咆哮库
【讨论】: