RPC的工作原理详解
创作时间:
作者:
@小白创作中心
RPC的工作原理详解
引用
1
来源
1.
https://learn.microsoft.com/zh-cn/windows/win32/rpc/how-rpc-works?source=recommendations
RPC(远程过程调用)是一种允许程序在不同计算机上执行过程调用的机制。通过RPC,客户端可以像调用本地过程一样调用远程服务器上的过程,而无需关心底层的网络通信细节。本文将详细介绍RPC的工作原理。
RPC体系结构
RPC体系结构主要包括客户端和服务器两端的组件。下图展示了RPC的基本架构:
客户端工作流程
调用本地存根过程:客户端应用程序调用本地存根过程,而不是直接调用远程过程。存根代码被编译并与客户端应用程序链接。
参数处理:
- 从客户端地址空间检索所需的参数。
- 将参数转换为标准NDR(Network Data Representation)格式,以便通过网络传输。
- 调用RPC客户端运行时库:存根代码调用RPC客户端运行时库中的函数,将请求及其参数发送到服务器。
服务器端工作流程
接收请求:服务器RPC运行时库函数接受来自客户端的请求。
参数处理:
- 服务器存根从网络缓冲区检索参数,并将其从网络传输格式转换为服务器所需的格式。
- 调用服务器上的实际过程。
- 执行远程过程:远程过程运行,可能生成输出参数和返回值。
数据返回流程
远程过程返回数据:远程过程完成后,将其数据返回到服务器存根。
参数转换与传输:
- 服务器存根将输出参数转换为通过网络传输所需的格式,并将其返回到RPC运行时库函数。
- 服务器RPC运行时库函数将数据传输到客户端计算机。
- 客户端处理返回数据:
- 客户端RPC运行时库接收远程过程返回值,并将其返回到客户端存根。
- 客户端存根将数据从NDR格式转换为客户端计算机使用的格式,并将结果返回给客户端上的调用程序。
运行时库组件
RPC运行时库分为两个部分:
- 导入库:与应用程序链接的部分。
- RPC运行时库:作为动态链接库(DLL)实现的核心组件。
服务器应用程序包含对服务器运行时库函数的调用,这些函数用于注册服务器的接口并允许服务器接受远程过程调用。服务器应用程序还包含客户端应用程序调用的特定于应用程序的远程过程。
RPC机制通过抽象网络通信细节,使得开发者可以像调用本地过程一样调用远程过程,大大简化了分布式系统开发的复杂性。
热门推荐
富翁与渔夫的故事
pagpag为何物?菲律宾的穷人,原来一直在吃富人的泔水!
以太坊Pectra升级详解:布拉格与Electra的结合
口角炎如何快速愈合?医生推荐的三大治疗方案!
西藏红珊瑚都是怎么来的?为何如此珍贵?
荥阳之战:楚汉之争中的关键战役
星露谷物语姜岛前置任务攻略:从社区中心到神秘岛屿的完整指南
慈禧太后出土遗体:只剩一条红裤头,嘴角被划出一条大口子
胆囊结石可通过腹腔镜手术治疗。
小孩摔了怎么确定没事?3大观察方法助你看有没有事
高血压的人喝酒会怎样
近姻亲称谓:传统习俗与当代社会变迁
公司停发工资时,劳动者应如何维权?
脑卒中又到高发期!牢记口诀可救命
8个治疗皮肤病的中成药小药膏,不含激素成分,一文总结
什么是假想防卫?事前防卫是什么意思
孩子的身高增长是否受遗传因素影响?专家权威解读
颜宁最新论文,揭示钙离子通道亚型对药物不同反应的基础
057型驱逐舰神秘登场:隐身配电磁炮,未来驱逐舰霸气来袭?
汽车轮胎动平衡全攻略:这些情况需及时检查
水稻高产优质栽培技术要点
洗澡时出现眩晕和恶心的可能原因是什么
近视矫正眼镜与角膜塑形镜:哪种更适合你?
当“剩女”成为标签,我们到底在焦虑什么?
睡前小习惯,硬皮病不再烦!你也能做到!
迷信有四个层次,看看你在其中的哪一层?
车辆转向系统的常见问题是什么?如何进行有效的检查和维护?
婴儿30天黄疸值对照表:从原因到预防的全面指南
1克燃料等于8吨石油,中国技术破解世界“难题”,中国专利超美国
美军印太战略支点:横须贺海军基地深度解析