16.卷2(进程间通信)---Sun RPC
1.RPC 说明文件 主要包括:定义了服务器过程以及这些过程的参数和结果。
在RPC说明文件中定义了 SQUARE_PROG 程序,定义了 SQUAREPROC 的过程,
客户端调用 squareproc_1, 小写加版本号
服务端 squareproc_1_svc
客户端程序存根,square_clnt.c, square_xdr.c 处理XDR数据转换文件.
服务器程序存根 square_svc.c , square_xdr.c
2.过程
1.服务器启动,向它所在主机的端口映射器(port mapper)注册自身。然后客户端启动,
它调用 clnt_create, 该函数与服务器主机上的端口映射器联系,以找到服务器的临时
端口。clnt_create 函数还建立一个与服务器的TCP连接。
2.客户端调用客户程序存根的本地过程,名为 squareproc_1,由 rpcgen 产生名为
square_clnt.c 。存根的作用把待传递给远程过程的参数打包成网络消息,这需要一次系统调用
3.走网络通信传到远程服务器
4.服务器存根等待客户请求
5.服务器存根执行一个本地过程调用以**真正的服务器函数(squareproc_1_svc)
1.概述
多线程化:
服务器捆绑:
认证:
超时和重传
XDR:外部数据表示
RPC 分组格式:
https://www.linuxidc.com/Linux/2017-02/140415.htm