我要提出以下问题:
我必须发送以下XDR消息:
struct Responde{
float numbers<>;
bool end;
}我知道如何实现数组(xdr_array)和bool (xdr_bool),但我如何:
1)对结构进行编码? 2)通过套接字发送结构?
感谢所有这些,但我不知道XDR,我必须使用它。再次感谢。
注:标题如何显示我引用了C语言和Linux环境。
发布于 2013-11-08 15:23:43
当然,最灵活的解决方案是使用rpcgen工具将XDR定义编译成C代码,然后可以在C应用程序中编译和使用。但是,如果不希望在项目中引入此依赖项,当然可以手工编写序列化代码。
RFC 1831将向您详细描述这种结构是如何序列化的,但下面是您需要了解的示例:
float将数字编码为32位浮点数.bool将布尔值编码为32位整数,其中真值编码为数字1,假值编码为数字0。例如,如果您的结构中填充了3个浮点数,并且值为true,您将得到以下字节流:
00 00 00 03 xx xx xx xx yy yy yy yy zz zz zz zz 00 00 00 01其中x、y和z的序列是浮点数。
https://stackoverflow.com/questions/17467493
复制相似问题