使用什么Objective-C IPC机制?

使用什么Objective-C IPC机制?,objective-c,ipc,nsnotifications,distributed-objects,Objective C,Ipc,Nsnotifications,Distributed Objects,我有一个应用程序,它维护一组嵌套对象和自定义类。此应用程序需要能够在其更改时与多个具有非常相似的自定义提供程序补丁的Quartz Composer组合共享其数据。QC组合在此应用程序中运行 QC补丁只能处理其输入上的有限对象类型,因此我的自定义类似乎无法在那里工作。我也很犹豫是否要将这些组合硬连接到我的应用程序中,这样在我添加新组合时就需要添加新的Objective-C代码 我尝试过分布式对象,尽管有人警告我不要使用它们。我发现他们太不可靠了。由于我的QC修补程序以60fps的速度运行,它们试图

我有一个应用程序,它维护一组嵌套对象和自定义类。此应用程序需要能够在其更改时与多个具有非常相似的自定义提供程序补丁的Quartz Composer组合共享其数据。QC组合在此应用程序中运行

QC补丁只能处理其输入上的有限对象类型,因此我的自定义类似乎无法在那里工作。我也很犹豫是否要将这些组合硬连接到我的应用程序中,这样在我添加新组合时就需要添加新的Objective-C代码

我尝试过分布式对象,尽管有人警告我不要使用它们。我发现他们太不可靠了。由于我的QC修补程序以60fps的速度运行,它们试图频繁地访问出售的对象,因此我无法在连接崩溃之前,在出现故障时优雅地关闭连接

现在,我正在使用分布式通知在每次发生变化时(大约是每秒)向我的QC补丁发送更新字典。我将自定义类序列化为字典,以便执行此操作,然后在最多5个接收此数据的修补程序实例中的每个实例中取消序列化字典。这是可行的,但它似乎效率低下,我担心潜在的延迟和丢失消息的警告。我的补丁程序需要以非常及时的方式接收更新(不到0.1秒,更快更好),并且不需要删除

对于我来说,将数据从我的应用程序获取到我的定制QC补丁程序的最佳机制是什么

谢谢大家!!
Adam

如果您希望它是高水平的,那么XPC是一个不错的选择(它甚至得到了一个很好的更新,可以直接在Mountain Lion中使用Objective-C(查看
NSXPC
前缀类和协议))。如果这太慢(不应该,因为XPC非常轻量级),您可以尝试退回到mach消息,这几乎是每种IPC在OSX上使用的东西。但是!通过MIG生成马赫数消息是一件麻烦事,因此您应该首先尝试XPC,只有当速度太慢时,才尝试马赫数消息


关于如何创建XPC服务的概述可以在这里找到

如果你想让它成为高水平的,XPC是一个不错的选择(它甚至得到了一个很好的更新,可以在Mountain Lion中直接将其与Objective-C一起使用(查看
NSXPC
前缀类和协议))。如果这太慢(不应该,因为XPC非常轻量级),您可以尝试退回到mach消息,这几乎是每种IPC在OSX上使用的东西。但是!通过MIG生成马赫数消息是一件麻烦事,因此您应该首先尝试XPC,只有当速度太慢时,才尝试马赫数消息

有关如何创建XPC服务的概述,请参见