IPC和RPC的区别

Posted Zhang Jun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IPC和RPC的区别相关的知识,希望对你有一定的参考价值。

IPC(Inter Process Communication)跨进程通信

这个概念泛指进程之间任何形式的通信行为,是个可以拿来到处套的术语。它不仅包括各种形式的消息传递,还可以指共享资源,以及同步对象mutex或者其他类似的东西,即确保安全的并发访问共享资源(也就是防止两个或两个以上的对象同时对同一个数据成员进行修改,从而导致数据被破坏,或者竞争条件下同时读/写数据而导致错误的情况发生)]的东西。

RPC(Reomote Procedure Call)远程过程调用

特指一种隐藏了过程调用时实际通信细节的IPC方法。客户端将调用一个本地方法,而这个本地方法则是负责与远程服务端进行过程间通信。这个本地方法会将相关参数顺序打包到一个消息中,然后把这个消息发送给服务端提供的方法,服务端的方法会从消息中解出序列化发出来的参数,然后执行,最后仍以同样的方式将方法的返回值发送给客户端。

以上是关于IPC和RPC的区别的主要内容,如果未能解决你的问题,请参考以下文章

dbus和qtdbus

dbus和qtdbus

netty,websocket,ipc(lpc和rpc),Nio之间的相互调用

Protobuf通信协议

快速 java/python/C++ ipc

IPC 中 LPCRPC 的区别和联系