OpenHarmony的示例中有关于RPC连接的演示,展示了同一设备中前后台的数据交互,用户前台选择相应的商品与数目,后台计算出结果,回传给前台展示。今天我们就介绍以下RPC连接相关的知识。
远程过程调用 (RPC)是一种用于构建基于客户端-服务器的分布式应用程序的强大技术。它基于对传统本地过程调用的扩展,因此被调用过程不必与调用过程存在于同一地址空间中。这两个进程可能在同一个系统上,也可能在不同的系统上,通过网络连接它们。
进行远程过程调用时:
1.调用环境挂起,过程参数通过网络传到要执行过程的环境,并在那里执行过程。
2.当过程完成并产生结果时,它的结果被传送回调用环境,在那里继续执行,就像从常规过程调用返回一样。
注意:RPC特别适合客户端-服务器(例如查询-响应)交互,其中控制流在调用者和被调用者之间交替。从概念上讲,客户端和服务器不会同时执行。相反,执行线程从调用者跳转到被调用者,然后再返回。
在 RPC 期间发生以下步骤:
1.客户端调用客户端存根过程,以通常的方式传递参数。客户端存根驻留在客户端自己的地址空间内。
2.客户端存根将参数编组(打包)到消息中。编组包括将参数表示转换为标准格式,并将每个参数复制到消息中。
3.客户端存根将消息传递到传输层,传输层将其发送到远程服务器机器。
4.在服务器上,传输层将消息传递给服务器存根,该存根将参数解组(解包)并使用常规过程调用机制调用所需的服务器例程。
5.当服务器过程完成时,它返回到服务器存根(例如,通过正常的过程调用返回),它将返回值编组到消息中。然后服务器存根将消息交给传输层。
6.传输层将结果消息发送回客户端传输层,传输层将消息返回给客户端存根。
7.客户端存根将返回参数和执行返回给调用者。
更多回帖