ipc-rpc-overview.md 1.3 KB
Newer Older
Z
zengyawen 已提交
1
# IPC与RPC通信概述
M
mamingshuai 已提交
2

Z
zengyawen 已提交
3 4 5
- [基本概念](#基本概念)
- [约束与限制](#约束与限制)
- [相关模块](#相关模块)
M
mamingshuai 已提交
6

Z
zengyawen 已提交
7
## 基本概念
M
mamingshuai 已提交
8 9 10

IPC(Inter-Process Communication)与RPC(Remote Procedure Call)机制用于实现跨进程通信,不同的是前者使用Binder驱动,用于设备内的跨进程通信,而后者使用软总线驱动,用于跨设备跨进程通信。IPC和RPC通常采用客户端-服务器(Client-Server)模型,服务请求方(Client)可获取提供服务提供方(Server)的代理 (Proxy),并通过此代理读写数据来实现进程间的数据通信。通常,Server会先注册系统能力(System Ability)到系统能力管理者(System Ability Manager,缩写SAMgr)中,SAMgr负责管理这些SA并向Client提供相关的接口。Client要和某个具体的SA通信,必须先从SAMgr中获取该SA的代理,然后使用代理和SA通信。下文使用Proxy表示服务请求方,Stub表示服务提供方。

Z
zengyawen 已提交
11 12

## 约束与限制
M
mamingshuai 已提交
13

L
liangshenglin1 已提交
14 15
单个设备上跨进程通信时,传输的数据量最大约为1MB,过大的数据量请使用匿名共享内存。
不支持把跨设备的Proxy对象传递回该Proxy对象所指向的Stub对象所在的设备。
M
mamingshuai 已提交
16 17


Z
zengyawen 已提交
18
## 相关模块
M
mamingshuai 已提交
19

Z
zengyawen 已提交
20
分布式任务调度子系统