macOS进程间通信的常用技术汇总
2023-12-29 16:18:00
macOS进程间通信的常用技术汇总
- 命令行传参。yyds
- 管道(pipe), 匿名管道, c++的技术,可以跨平台使用
只能在父子进程间通信,由于是单向的管道,只能单方面传输数据。 如果需要双向传输,需要建立双向的两条管道才行 - 共享内存shm(Shared Memory)
适合大容量频繁数据进行传输,比如音视频数据。如果临时传输tag标记,也可以在跨平台使用。
Qt:QSharedMemory
, Mac:<sys/mman.h>
- Socket, 跨平台,适用频繁且小量的数据。需要自己写数据解析
Mac:<sys/socket.h>
- NSDistributedNotificationCenter, Mac 独有,适合数据不大且不频繁的通讯。 集成简单。
- Pasteboard 剪切板
- XPC,需要起XPC服务,并由根进程Launch在合适的时候进行拉起。比较安全,模块隔离。
XPC 是一种 OS X 进程间通信技术,通过权限分离机制来对应用沙箱机制做了一个补充。其中,权限分离是根据每个部分所需的系统资源访问将应用程序分成多个部分,每个部分可以使用提前声明的权限(沙箱)。这种单个组件称为XPC 服务。
XPC 服务的特点:权限分离 + 错误隔离
具体集成文章:https://blog.csdn.net/goldWave01/article/details/135289034
文章来源:https://blog.csdn.net/goldWave01/article/details/135265064
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!