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机制通过抽象网络通信细节,使得开发者可以像调用本地过程一样调用远程过程,大大简化了分布式系统开发的复杂性。
热门推荐
津媒:在足协、教练团队共同努力下,国足凝聚力得到空前提升
混世四猴中,孙悟空究竟是不是灵明石猴?原著已多处暗示
什么是欧赔
怎么去马赛克恢复图片
焦虑症药物的治疗方法有哪些
推荐4款汉方护眼茶:善用“明目四君子”,改善疲劳酸涩顾眼睛!
很turn什麼意思?深入解析「turn」的多重意義與應用
心理学3大问题之:心灵与身体的关系是什么?
移民英国的中国富豪:全球化时代的选择与机遇
《死亡笔记》的粉丝对结局仍有一个愿望
【眼睛健康自查】4个超简单自测图,揭秘你的眼睛健康状况!
新房和二手房如何选择?购房流程、风险和价格对比分析
公司如何开通社保账号:流程与注意事项
哲学人生思考与感悟生命之美
走进中国历史文化名村赖坊:来青、迎薰里赏木雕,探寻千年客家文脉
Canvas学习笔记00:Canvas基础知识,入门的开始
如何高效建立知识库?——知识库建立流程全攻略
国足1-3日本:拼命防守下的定位球之殇,未来路在何方?
低空经济带火无人机驾照培训 有人靠飞无人机年入十多万元
红艳煞是什么意思
呼北高速起点和终点是哪里
涉及剑南大道、世纪城、三环路等,成都完成17项堵点治理任务
运动会的英语短语集锦
国际贸易中的交货方式选择:FOB、CIF还是CFR?
夫妻共同账户怎么管理?一文详解共同账户的设立与维护
女性的细腻表达,解读斯蒂芬妮·德什潘德的心理现实主义
播客行业的现状与发展趋势:2024年深度分析
西兰花烹饪秘籍:解锁最佳方法,让营养满分吸收!
身体出现这6种异常,排查高血压,占得越多风险越高
用“Yet” 巧妙表达,你的英文更地道!