IPC和RPC的区别
copy from : https://blog.csdn.net/u013894427/article/details/82789837
IPC:(Inter Process Communication )跨进程通信
这个概念泛指进程之间任何形式的通信行为,是个可以拿来到处套的术语。它不仅包括各种形式的消息传递,还可以指共享资源,以及同步对象[mutex 或者其他类似的东西,即确保安全的并发访问共享资源(也就是防止两个或两个以上的对象同事对同一个数据成员进行修改,从而导致数据被破坏,或者竞争条件下同事读/写数据而导致错误的情况发生)]的东西。
RPC:(Reomote Procedure Call) 远程过程调用
特指一种隐藏了过程调用时实际通信细节的IPC方法。客户端将调用一个本地方法,而这个本地方法则是负责透明的与远程服务端进行过程间通信。这个本地方法会讲相关参数顺序打包到一个消息中,然后把这个消息发送给服务端提供的方法,服务端的方法会从消息中解出序列化发出来的参数,然后执行,最后仍以同样的方式将方法的返回值发送给客户端。
————————————————
版权声明:本文为CSDN博主「二仪式」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013894427/java/article/details/82789837
copy from https://www.jianshu.com/p/8236f39f2cdc
RPC、IDL、IPC概念
RPC 是什么
RPC 即 Remote Procedure Call (远程过程调用) 是一种计算机通讯协议,它为我们定义了计算机 C 中的程序如何调用另外一台计算机 S 的程序,让程序员不需要操心底层网络协议,使得开发包括网络分布式多程序在内的应用程序更加容易。
RPC 是典型的 Client/Server 模式,由客户端对服务器发出若干请求,服务器收到后根据客户端提供的参数进行操作,然后将执行结果返回给客户端。
RPC 位于 OSI 模型中的会话层:

IDL 是什么
RPC 只是一种协议,规定了通信的规则。
在实际工作中客户端与服务端会有各种各样的平台,就好像日常开发一样,为了统一处理不同的实现,需要定义一个共同的接口,于是有了 IDL。
IDL 即 Interface Description Language (接口定义语言)。
它通过一种中立的方式来描述接口,使得在不同平台上运行的对象和用不同语言编写的程序可以
相互通信交流。比如,一个组件用 C++ 写成,另一个组件用 Java 写,仍然可以通信。

IPC 是什么
IPC 即 Inter-Process Communication (进程间通信)。
Android 基于 Linux,而 Linux 出于安全考虑,不同进程间不能之间操作对方的数据,这叫做“进程
隔离”。进程隔离”更详细的介绍(http://blog.csdn.net/u010132993/article/details/72582655)。
作者:Li_Pin
链接:https://www.jianshu.com/p/8236f39f2cdc
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。