1

Microsoft RPC 提供了一种可以以函数调用方式完成的 IPC 机制。这对我的项目非常有帮助,我的主服务将任务委托给子进程,并且可以调用子进程中的函数,就好像它们在主服务中实现一样。这消除了在使用其他 IPC 机制(如命名管道、套接字、protobuf 等)时必须序列化抽象数据和定义自定义协议的负担。我知道 RPC 确实在内部使用它们。

我读过一篇关于为 Mac OS X 实现 COM的文章,这可能是最接近我需要的东西。如果我找不到其他方法来实现我需要的 IPC 类型,我可能会选择 COM,但我想我会确保我没有遗漏任何东西。

4

1 回答 1

2

看看“XPC 服务”。从文档中:

XPC 服务由 launchd 管理并为单个应用程序提供服务。它们通常用于将应用程序分成更小的部分。这可用于通过限制进程崩溃时的影响来提高可靠性,并通过限制进程受到损害时的影响来提高安全性。

稍后在该指南中:

API 是一个基于NSXPCConnectionObjective-C 的 API,它提供远程过程调用机制,允许客户端应用程序调用代理对象上的方法,这些方法透明地将这些调用中继到服务助手中的相应对象,反之亦然。

于 2013-11-08T21:45:41.970 回答