使用 RPCGen 理解 RPC
Using RPCGen to understand RPC
我正在尝试使用 RPCGen 了解 RPC 的基础知识。我按照基本教程编写了以下 myrpc.x 文件
program MESSAGEPROG {
version EVALMESSAGEVERS {
int EVALMESSAGE(string) = 1;
} = 1;
} = 0x20000002;
我编译运行宁
rpcgen -a -C myrpc.x
在生成的 server.c 文件中,我添加了如下的 printf 语句
printf("Message is: %s,\n", *argp);
然后我运行 make -f Makefile.myrpc 并通过运行ning myrpc_server 启动服务器。现在,当我 运行 客户端 'myrpc_client' 时,我在服务器
中打印了以下消息
Message is: H���5�
现在我的问题是这个论点来自哪里 "H���5�" 因为这不是我在 运行 客户时的论点?也有人可以向我解释如何使用 rpcgen 启动 运行ning 复杂程序吗?
垃圾值来自 client.c 中第 15 行的代码,其中未初始化的变量用作 rpc 调用的参数。我的 rpc 版本显示错误:
call failed: RPC: Can't encode arguments"
15 char * evalmessage_1_arg;
"How do I start running complex programs with rpc?" 就在你身上。我们不能说什么时候需要使用 rpc。您可能出于某种原因选择了此实现。
rpc 的一些用例是慢速计算机上的瘦客户端,这需要一些昂贵的计算。客户端将数据发送到功能强大的服务器,服务器会进行艰苦的工作并 returns 结果。
我正在尝试使用 RPCGen 了解 RPC 的基础知识。我按照基本教程编写了以下 myrpc.x 文件
program MESSAGEPROG {
version EVALMESSAGEVERS {
int EVALMESSAGE(string) = 1;
} = 1;
} = 0x20000002;
我编译运行宁
rpcgen -a -C myrpc.x
在生成的 server.c 文件中,我添加了如下的 printf 语句
printf("Message is: %s,\n", *argp);
然后我运行 make -f Makefile.myrpc 并通过运行ning myrpc_server 启动服务器。现在,当我 运行 客户端 'myrpc_client' 时,我在服务器
中打印了以下消息Message is: H���5�
现在我的问题是这个论点来自哪里 "H���5�" 因为这不是我在 运行 客户时的论点?也有人可以向我解释如何使用 rpcgen 启动 运行ning 复杂程序吗?
垃圾值来自 client.c 中第 15 行的代码,其中未初始化的变量用作 rpc 调用的参数。我的 rpc 版本显示错误:
call failed: RPC: Can't encode arguments"
15 char * evalmessage_1_arg;
"How do I start running complex programs with rpc?" 就在你身上。我们不能说什么时候需要使用 rpc。您可能出于某种原因选择了此实现。
rpc 的一些用例是慢速计算机上的瘦客户端,这需要一些昂贵的计算。客户端将数据发送到功能强大的服务器,服务器会进行艰苦的工作并 returns 结果。