【问题标题】:Using RPCGen to understand RPC使用 RPCGen 理解 RPC
【发布时间】:2015-02-28 21:44:35
【问题描述】:

我正在尝试使用 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 并通过运行 myrpc_server 启动服务器。现在,当我运行客户端“myrpc_client”时,我会在服务器中打印以下消息

Message is: H���5�

现在我的问题是这个论点从何而来“H���5�”,因为这不是我在运行客户端时的论点?也有人可以解释我如何开始使用 rpcgen 运行复杂的程序吗?

【问题讨论】:

    标签: c rpc


    【解决方案1】:

    垃圾值来自 client.c 中第 15 行的代码,其中未初始化的变量用作 rpc 调用的参数。我的 rpc 版本显示错误:

    调用失败:RPC:无法编码参数”

    15     char * evalmessage_1_arg;
    

    “如何开始使用 rpc 运行复杂的程序?”就在你身上。我们不能说你什么时候需要使用 rpc。您选择此实现可能有一些原因。

    rpc 的一些用例是慢速计算机上的瘦客户端,这需要一些昂贵的计算。客户端将数据发送到功能强大的服务器,由服务器完成繁重的工作并返回结果。

    【讨论】:

      猜你喜欢
      • 2012-05-24
      • 2023-03-17
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多