rpc
RPC
是远程过程调用(Remote Procedure Call)的缩写形式。SAP系统RPC调用的原理其实很简单,有一些类似于三层构架的C/S系统,第三方的客户程序通过接口调用SAP内部的标准或自定义函数,获得函数返回的数据进行处理后显示或打印
Since the idea of RPC goes back to 1976 and the first business use was by Xerox in 1981, I’m not exactly sure what qualifies as a really old tutorial.
Here are a few resources you might find helpful.
- Power Programming with RPC (1992)
- Remote Procedure Calls | Linux Journal (Oct 01, 1997)
- Remote Procedure Calls (RPC) (1999)
- Remote Procedure Call Programming Guide (PDF link)
- rpc(3) - Linux man page
rpcgen
1 | $rpcgen --version |
rpcinfo
report RPC information
Q&A
Cannot register service: RPC: Unable to receive; errno = Connection refused
portmap
是为RPC程序服务的。每一个RPC server程序启动的时候要向portmap程序注册。这样portmap程序就知道这些RPC server监听在哪个端口。 而RPC client在发起连接向portmap发起查询,知道了想要查询的RPC server的监听端口后再去连接server
1 | sudo apt install portmap rpcbind |
示例
1 | find /usr/include/ -name "*.x" |
结构体
1 | program YPPASSWDPROG { |
https://unix.stackexchange.com/questions/344015/what-are-the-x-files-in-usr-include
函数指针
參考
- Remote Procedure Calls
- C/C++ RPC Tutorial for Linux [closed]
- Linux下C语言RPC(远程过程调用)编程实例
- rpcgen Programming Guide
- Writing Remote Procedural Calls (RPCs) in C
- Passing character pointers from client to server in RPCGen
- Writing RPC Applications with the rpcgen Protocol Compiler