远程过程调用与本地过程调用

Posted

技术标签:

【中文标题】远程过程调用与本地过程调用【英文标题】:Remote Procedure Calls vs. Local Procedure Calls 【发布时间】:2015-11-18 13:41:18 【问题描述】:

RPC(远程过程调用)和LPC(本地过程调用)有什么区别?

【问题讨论】:

一个是远程的,另一个是本地的……!?请提供您遇到这些术语的更多背景信息,以及它们不清楚的地方。 RPC 是进程间通信技术,允许客户端和服务器软件在分布式环境中进行通信。LPC 用于两个用户模式进程之间的通信。我想知道这两者之间的更多区别。 LPC - en.wikipedia.org/wiki/Local_Procedure_Call && RPC - en.wikipedia.org/wiki/Remote_procedure_call 【参考方案1】:

阅读他们各自的***页面:

RPC - https://en.wikipedia.org/wiki/Remote_procedure_call

LPC - https://en.wikipedia.org/wiki/Local_Procedure_Call

一切都在那里解释。先花点力气,如果你卡住了,你仍然可以提出一个不平凡的问题。

区别:

RPC 比 LPC 慢,因为它使用网络调用方法。 使用 RPC,可以在远程计算机上执行过程调用,这可以通过多种方式进行寻址。 参数和返回值需要可序列化(使用 java 术语)。 RPC 可能由于网络问题而失败。 RPC 需要在使用前进行设置。 用于调用远程过程的语言和实现远程过程的语言不一定相同。 等等。

【讨论】:

努力同上。至少引用这些页面中的一些相关段落,不要只是链接到它们。这充其量只是评论,而不是答案。 这也是一个模糊的问题,无法在有限的时间内回答,也不会对任何人有用。根据问题的要求,我添加了一些差异。 同意。有些事情根本不能也不应该回答。 希望这个问题被编辑成有用的。我会相应地修改我的答案。【参考方案2】:

在 RPC 中,程序可以从不同的计算机执行,而在 LPC 中,程序由主机执行。

【讨论】:

以上是关于远程过程调用与本地过程调用的主要内容,如果未能解决你的问题,请参考以下文章

干货RMI与RPC的区别

女票的大杀器 —— RPC(远程过程调用)

什么是远程过程调用?

UE4网络之(二) 远程调用函数(RPC)

PRC远程过程调用

解释RPC远程调用的来龙去脉