当前位置: 首页 > news >正文

macOS进程间通信的常用技术汇总

macOS进程间通信的常用技术汇总

  1. 命令行传参。yyds
  2. 管道(pipe), 匿名管道, c++的技术,可以跨平台使用
    只能在父子进程间通信,由于是单向的管道,只能单方面传输数据。 如果需要双向传输,需要建立双向的两条管道才行
    匿名管道创建的文件描述符只能在fork出来的进程间传递和读取.
  3. 有名管道(FIFO)
    如果是NSTask 或其他手段创建出的进程,需要使用有名管道。
    具体集成文章:https://blog.csdn.net/goldWave01/article/details/135369065
  4. 共享内存shm(Shared Memory)
    适合大容量频繁数据进行传输,比如音视频数据。如果临时传输tag标记,也可以在跨平台使用。
    Qt:QSharedMemory, Mac: <sys/mman.h>
  5. Socket, 跨平台,适用频繁且小量的数据。需要自己写数据解析
    Mac: <sys/socket.h>
    UNIX Domain Socket VS TCP/IP Socket
  6. NSDistributedNotificationCenter, Mac 独有,适合数据不大且不频繁的通讯。 集成简单。
  7. Pasteboard 剪切板
  8. XPC,需要起XPC服务,并由根进程Launch在合适的时候进行拉起。比较安全,模块隔离。
    XPC 是一种 OS X 进程间通信技术,通过权限分离机制来对应用沙箱机制做了一个补充。其中,权限分离是根据每个部分所需的系统资源访问将应用程序分成多个部分,每个部分可以使用提前声明的权限(沙箱)。这种单个组件称为XPC 服务。
    XPC 服务的特点:权限分离 + 错误隔离
    具体集成文章:https://blog.csdn.net/goldWave01/article/details/135289034
http://www.lryc.cn/news/273832.html

相关文章:

  • 高德地图信息窗体设置
  • isEmpty 和 isBlank 的用法区别,居然一半的人答不上来.....
  • 数据分析求职-简历准备
  • 亚马逊店铺遇到账号申诉模版分享
  • 2023年广东省网络安全A模块(笔记详解)
  • 竞赛保研 基于机器视觉的银行卡识别系统 - opencv python
  • 书摘:C 嵌入式系统设计模式 04
  • C 练习实例16 - 最大公约数和最小公倍数
  • GAN-概念和应用场景
  • LeetCode(36)有效的数独 ⭐⭐
  • 用LCD显示字符‘A‘
  • Zookeeper相关问题及答案(2024)
  • 1.大数据概述
  • NGUI基础-Widget
  • SpringBoot集成沙箱支付
  • BUUCTF--gyctf_2020_borrowstack1
  • 图像分割-Grabcut法(C#)
  • C# WPF上位机开发(Web API联调)
  • c语言:用结构体求平均分|练习题
  • echarts 仪表盘进度条 相关配置
  • Simpy:Python之离散时间序列仿真
  • 连接GaussDB(DWS)报错:Invalid or unsupported by client SCRAM mechanisms
  • 汽车标定技术(十四)--标定数据固化方法简介
  • 2024年关键技术发展战略趋势前瞻
  • Java程序设计——GUI设计
  • three.js Raycaster(鼠标点击选中模型)
  • Springboot整合RocketMQ 基本消息处理
  • 红外传感器深入解析
  • 18、Kubernetes核心技术 - InitContainer(初始化容器)
  • electron进程通信之预加载脚本和渲染进程对主进程通信