运行simpel RPC程序时出错

Posted

技术标签:

【中文标题】运行simpel RPC程序时出错【英文标题】:Error Running simpel RPC Program 【发布时间】:2016-09-23 20:57:39 【问题描述】:

我在运行最简单的 RPC 程序时遇到了问题。我想要一个程序,它将一个字符串从客户端发送到服务器,然后服务器将字符串发送回客户端。这是 echo.x:

program ECHO_PROG
    version ECHO_VERS
        string ECHO(string) = 1;
     = 1;
 = 0x22233323;

运行 rpcgen -a -C echo.x 后,我制作程序,然后尝试运行

./echo_server &
./echo_client localhost

我得到了错误:

call failed: RPC: Can't encode arguments. 

我是否在 .x 文件中声明了正确的参数类型?为什么我会收到这个错误?如果我想向服务器发送一个字符串并让它回显,我是否正确地解决了这个问题?我了解如何创建一个将返回一个 int 但返回一个字符串的 RPC,这让我深感困惑。如果你在外面,请帮忙!

【问题讨论】:

【参考方案1】:

可能不高兴返回一个字符串...试试这个:

program ECHO_PROG
    version ECHO_VERS
        int ECHO(string) = 1;
     = 1;
 = 0x22233323;

当然,如果重点是返回一个字符串,那么你需要做一些工作——我相信你必须将它包装在一个自定义类型中。

【讨论】:

我可以返回一个结构吗?

以上是关于运行simpel RPC程序时出错的主要内容,如果未能解决你的问题,请参考以下文章

启动 GWT/Hibernate 程序时出错

FLutter - 尝试运行应用程序时出错

调用 RPC 时出错 - GWT,404 服务器响应状态为 404(未找到)

运行 Playframework2 Web 应用程序时出错

将 C 代码转换为 Web 程序集时出错

在Turbo C ++程序中编译c-graphics时出错