运行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程序时出错的主要内容,如果未能解决你的问题,请参考以下文章