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机制通过抽象网络通信细节,使得开发者可以像调用本地过程一样调用远程过程,大大简化了分布式系统开发的复杂性。
热门推荐
失眠惹了什么“祸”?| 科普时间
天命人:从古至今的使命与追求
2024重大科学问题难题权威发布
痰湿体质方案
烟花爆竹声声响,节日氛围与公共安全如何平衡?|人民快评
普洱茶不上火:全方位解析其健康益处与日常饮用指南
抗癌食物大盘点:这些日常食材,竟然是肿瘤的克星
《洛克王国》手游平民攻略:三只必养精灵推荐
燕窝的营养价值
探寻历史之谜:项羽所举之鼎重量与现代举重冠军的挑战
写给刚开始用AI的朋友,如何写好AI提示词(prompt)
焦虑症难治疗?中医有妙法!名中医用这两个方子,见效!
多家银行提高派息,招行派息比提至35%,平安银行股息率高达7.2%
日本年轻人为啥喜欢当农民
绿叶、石药、豪森群雄环伺,CNS下一个大药赛道
水管漏水原因及解决方法
一文总结│儿童肺朗格汉斯细胞组织细胞增生症的诊断及治疗
台湾自由行|12大必去景点!宜兰/台中/花莲/台南
现代公墓设计重点解析:从空间到文化的全面规划
中医四诊合参:望闻问切的综合运用
养老保险个人账户多久更新一次数据?
猴子:灵长目动物的多样性与智慧
高海拔挑战:掌握这些技巧,让“高反”不再是障碍 | 户外生存
【心理健康】寒假,心理调适指南(学生和家长必读)
仓鼠养成宝典:新手养仓鼠需要准备什么?
不当解除与三期女职工的劳动关系如何补偿
等宽字体示例
1995年的Cosplay什么模样?无美颜滤镜的美少女战士着实令人惊艳
国际消除家庭暴力日 | 拒绝沉默,这份反家暴指南请查收!
一文搞懂MRCP和ERCP的适应证、禁忌证及临床应用场景