课纲
话题通信模型(多对多)
RPC
RPC,全称为 Remote Procedure Call,即远程过程调用,是一种通信协议,允许一个计算机程序在另一个网络上的计算机上执行一组函数或过程,而不需程序员显式编码网络交互细节。简单来说,RPC使得网络上的不同计算机能够像调用本地函数一样调用远程函数。
RPC的工作原理大致如下:
客户端调用:在客户端代码中,程序员调用一个过程,就像调用本地函数一样,但是这个过程实际上是在另一台机器上运行的。
客户端的RPC运行时库:接收到调用请求后,客户端的RPC运行时库将参数打包成消息,并通过网络发送给服务器。
服务器的RPC运行时库:服务器端的RPC运行时库接收消息,解包参数,并调用实际的过程或函数。
服务器处理请求:服务器上的目标函数或过程执行其功能。
结果返回:服务器的RPC运行时库将结果打包并返回给客户端。
客户端接收结果:客户端的RPC运行时库接收到结果,将其解包,并将控制权返回给调用方,就像调用了一个本地函数一样。
RPC的主要优点是隐藏了网络通信的复杂性,简化了分布式系统的编程模型。它在很多场景下被广泛使用,比如微服务架构、分布式系统、云计算平台等。常见的RPC框架和技术包括gRPC、Thrift、Dubbo等。
服务通信(一对多)
动作(通信机制)
launch文件
Gazebo
RVIZ
TF坐标变化
#ROS应用