我无法运行最简单的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让我深感困惑。如果你在那里请帮忙!
答案 0 :(得分:0)
回复字符串可能不高兴...试试这个:
program ECHO_PROG{
version ECHO_VERS{
int ECHO(string) = 1;
} = 1;
} = 0x22233323;
当然如果重点是返回一个字符串然后你需要做一些工作 - 我相信你必须把它包装成一个自定义类型。