RPC是glibc提供的函数参数/返回值封装服务, 并将封装结果通过网络传到服务器.
RPC服务端首先要启动portmapper服务.
测试一个简单的RPC传输示例, 先定义一个模板文件test.x
然后可以用rpcgen生成一个Makefile:
这会生成Makefile, 客户端和服务端的程序, 和函数示例.
我们手工修改一下Makefile
RPC服务端首先要启动portmapper服务.
测试一个简单的RPC传输示例, 先定义一个模板文件test.x
program TESTPROG{
version VERSION{
int int_echo(int)=1;
int get_str_len(string)=2;
int add ( int, int ) = 3;
}=1;
}=30000;
内含3个函数, 注意其中一个有2个参数.version VERSION{
int int_echo(int)=1;
int get_str_len(string)=2;
int add ( int, int ) = 3;
}=1;
}=30000;
然后可以用rpcgen生成一个Makefile:
rpcgen -a -N test.x
这会生成Makefile, 客户端和服务端的程序, 和函数示例.
我们手工修改一下Makefile
# This is a template Makefile generated by rpcgen
# Parameters
CLIENT = test_client
SERVER = test_server
SOURCES_CLNT.c =
SOURCES_CLNT.h =
SOURCES_SVC.c =
SOURCES_SVC.h =
SOURCES.x = test.x
TARGETS_SVC.c = test_svc.c test_server.c test_xdr.c
T
# Parameters
CLIENT = test_client
SERVER = test_server
SOURCES_CLNT.c =
SOURCES_CLNT.h =
SOURCES_SVC.c =
SOURCES_SVC.h =
SOURCES.x = test.x
TARGETS_SVC.c = test_svc.c test_server.c test_xdr.c
T