python html5 bootstrap 视频教程

PRC - 客户服务器 Remote Procedure Call远程过程调用 网络通信协议

2018-6-23 10:22| 发布者: digitser| 查看: 1334| 评论: 0|原作者: Qt/C++

摘要: PRC - 客户服务器 Remote Procedure Call远程过程调用 网络通信协议 RPC 是 Remote Procedure Call 的缩写,中文译为 远程过程调用,是通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的一种 网络通 ...
自动立式分页纸箱赋码系统 ── 全自动 专业 立式分页 瓦楞纸 水性油墨 贴标 喷码 检测系统
PRC - 客户服务器 Remote Procedure Call远程过程调用 网络通信协议

RPC 是 Remote Procedure Call 的缩写,中文译为 "远程过程调用",是通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的一种 "网络通信协议"。


RPC 最初由 Sun 公司提出,IETF ONC 宪章重新修订了 Sun 版本,使得 ONC PRC 协议成为了 IETF 标准协议。目前,存在多种 RPC 模式,现使用最普遍的是开放软件基础的 "分布式计算环境 (DCE)"。


RPC 协议会先假定某些网络传输协议 (如 TCP 或 UDP) 已存在,再为通信程序之间携带信息数据。在 OSI 网络通信模型中,RPC 跨越了传输层和应用层,使开发 "网络分布式" 应用变得更容易。


RPC 采用 "客户端 + 服务器" 模式,请求程序为 "客户端",服务提供程序为 "服务器"。首先,"客户端" 调用进程发送一个带进程参数的信息给服务进程,然后等待 "服务器" 应答信息。"服务器" 进程一般会保持睡眠状态,直到 "客户端" 调用信息到达停止睡眠。当一个调用信息到达 "服务器" 端,"服务器" 会获得进程参数,然后计算、发送答复信息,然后再等待下一个调用信息;最后,"客户端" 调用过程接收答复信息,获得进程结果。


18d8bc3eb13533fadd93e964a9d3fd1f41345b56副本.jpg


高效智能 所见即所得的 "HTML5 Bootstrap4 网页 IDE" 网站站群 集成开发环境

http://ideweb.digitser.cn/

http://forum.digitser.cn/thread-2322-1-1.html


百度网盘

https://pan.baidu.com/s/1i5tKlZB


软件仓库

https://github.com/digitser

https://digitser.sourceforge.io/

https://pan.baidu.com/s/1TV70__Be1ta0ney1-tudFQ


工作原理

RPC "客户端" 对 "服务器" 的调用,大致分以下 10 步:

0
1、调用 "客户端" 句柄,传送参数



02、调用 "客户端" 本地系统内核,发送网络消息


0
3、消息被传送到远程 "服务器" 主机


0
4、"服务器" 句柄获取消息,及相关参数



0
5、执行 "服务器" 远程过程




06、调用 "服务器" 句柄



07、"服务器" 句柄计算,调用 "服务器" 远程系统内核



08、"服务器" 将消息传回 "客户端" 本地主机


0
9、"客户端" 句柄内核接收消息



10、"客户端" 接收句柄获取数据


PRC 同步-异步调用

同步 RPC 调用就是客户端等待调用执行完成,并返回结果。


异步 RPC 调用就是客户端不等待调用执行完成返回结果,不过依然可通过回调函数等接收到返回结果的通知。若客户端并不关心结果,则还可变成一种单向调用。


这个过程有点类似于 Java 中的 callable 和 runnable 接口,异步执行时,如需要知道执行结果,就可使用 callable 接口,且可通过 Future 类获取到异步执行的结果信息。如不关心执行结果,直接使用 runnable 接口就可以了,因为它不会返回结果,当然,callable 也是可以,不去获取 Future 就行了。


RPC over HTTP

Microsoft  RPC over HTTP 允许 RPC "客户端" 安全-有效地通过 Internet 连接到 RPC "服务器" 程序,执行远程过程调用。


Microsoft RPC 代理运行在 IIS 计算机之上,接受来自 Internet 的 RPC 请求,并在这些请求之上执行 "认证-校验-访问"。若请求通过所有测试,RPC 代理将请求转发给真正执行处理的 RPC 服务器。


通过 RPC over HTTP,RPC 客户端不会和服务器直接通信,它们使用 RPC 代理作为中间件。


详细开启方法:开始 --> 控制面板 --> 系统和安全 --> 管理工具 --> 服务 --> Remote Procedure Call (RPC) --> 双击打开 --> 启动


RPC vs HTTP

RPC 主要基于 TCP/IP 协议,而 HTTP 是建立在 TCP 网络传输层协议之上,所以,RPC 更胜一筹。


OSI 七层网络结构模型 (虽然实际应用中基本上都是 5 层,没有表示层和会话层,被合并到了应用层),从上至下:

01、应用层

定义用于网络中,进行通信和传输数据的接口


02、表示层

定义不同系统中数据的传输格式,编码和解码规范等


03、会话层

管理用户会话,控制用户间逻辑连接的建立和中断


04、传输层

管理网络中"端到端" 的数据传输


05、网络层

定义网络设备间如何传输数据


06、链路层

将上面网络层的数据封装成数据帧,便于物理层传输


07、物理层

传输二进制数据


OSI 网络结构模型的重点是 "应用层" 和 "传输层";因为,HTTP 是应用层协议,而 TCP 是传输层协议。


"长按二维码" 或 "扫一扫" 关注 "德云社区" 微信公众号

版权声明:
本文为独家编译稿件,版权归 德云社区,未经许可不得转载;否则,将追究其法律责任。


路过

雷人

握手

鲜花

鸡蛋
AI人工智能 语音助理 人工翻译 教程

相关阅读

最新评论

Qt 6.5.1 官方中文文档编制 手册教程 帮助文件 人工翻译
Qt 6.5.1 官方中文文档编制 手册教程 帮助文件 人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 6.5.1。 Qt 6.5.1 中文文档编制[35/2024-10-24]
Qt 6.5.1 官方中文文档编制 手册教程 人工翻译更新日志
Qt 6.5.1 官方中文文档编制 手册教程 人工翻译更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Qt 6.5.1。 Qt 6.5.1 中文文档编制采[24/2024-10-24]
数字 Python IDE 2024 注册机 注册码生成器 附详细破解方法
数字 Python IDE 2024 注册机 注册码生成器 附详细破解方法 数字 Python IDE 目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于多版本 多文档 多工程并行[21/2024-10-24]
数字翻译 2024 注册机 注册码生成器 内存破解器 附详细用法
数字翻译 2024 注册机 注册码生成器 内存破解器 附详细用法 数字翻译目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于 HTML 文档本地化 (面向高精度 超[24/2024-10-24]
数字 Python IDE 2023 注册机 注册码生成器 附详细破解方法
数字 Python IDE 2023 注册机 注册码生成器 附详细破解方法 数字 Python IDE 目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于多版本 多文档 多工程并行[22/2024-10-24]
数字翻译 2023 注册机 注册码生成器 内存破解器 附详细用法
数字翻译 2023 注册机 注册码生成器 内存破解器 附详细用法 数字翻译目前还在不断研发 进步中,虽不太成熟,但其新理念很有特色 特别适于 HTML 文档本地化 (面向高精度 超[21/2024-10-24]
CSS3 官方中文文档编制 手册教程 人工翻译 更新日志
CSS3 官方中文文档编制 手册教程 人工翻译 更新日志 CSS3 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用任何第 3 方工具),[1592/2022-07-31]
CSS3 官方中文文档编制 手册教程 帮助文件 人工翻译
CSS3 官方中文文档编制 手册教程 帮助文件 人工翻译 CSS3 中文文档编制采用机器辅助 + 全人工翻译,完全采用 数字翻译 的文档翻译流程进行汉化 (未采用任何第 3 方工具),[1723/2022-07-31]
SolidWorks 2020 非对称Conic Rho圆角 抽壳出现模型穿刺
SolidWorks 2020 非对称Conic Rho圆角 抽壳出现模型穿刺 标准对称圆角最常用,但有时偶尔也会用到非对称圆角。 特别是模具、五金、电子、手饰、汽车、家具、玩具、等对圆[1414/2022-05-25]
NumPy 1.22 官方中文文档编制 手册帮助 更新日志
NumPy 1.22 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 NumPy 1.22。 NumPy 1.22 中文文档编制采用[997/2022-05-22]
NumPy 1.22 官方中文文档编制 手册帮助 全人工翻译
NumPy 1.22 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 NumPy 1.22。 NumPy 1.22 中文文档编制采[1164/2022-05-22]
Pillow 9.1.1 官方中文文档编制 手册帮助 更新日志
Pillow 9.1.1 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Pillow 9.1.1。 Pillow 9.1.1 中文文档编[1048/2022-05-22]
Pillow 9.1.1 官方中文文档编制 手册帮助 全人工翻译
Pillow 9.1.1 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 Pillow 9.1.1。 Pillow 9.1.1 中文文档[1001/2022-05-22]
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 更新日志
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 更新日志 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyMuPDF 1.19.6。 PyMuPDF 1.19.6 中文[1619/2022-05-22]
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 全人工翻译
PyMuPDF 1.19.6 官方中文文档编制 手册帮助 全人工翻译 以后不再上传 en-US 官方原版文档编制,目前上传的最新 zh-CN 人工翻译版本为 PyMuPDF 1.19.6。 PyMuPDF 1.19.6 中[1480/2022-05-22]

Archiver|Sitemap|小黑屋|德云社区   

GMT+8, 2024-11-23 07:21 , Processed in 0.029540 second(s), 28 queries .

工业和信息化部: 粤ICP备14079481号-2

技术支持 乐数软件     版权所有 © 2014-2021 德云社区    

返回顶部