XDR 编解码

2019-03-12  本文已影响0人  帆子_8c3a

XDR协议定义在RFC4506,解决不同平台之间传输数据的问题。

以下是使用的例子

#include<stdio.h>
#include<rpc/xdr.h>
#include<string.h>

int main(int argc,char* argv[])
{
  short s1=34,s2;
  char c1='M',c2;
  double d1 = 66.66,d2;
  const char *p1 = "marvin";
  char *p2 = NULL;

  XDR xdr;
  char buff[120];

  xdrmem_create(&xdr,buff,120,XDR_ENCODE);

  xdr_string(&xdr,(char**)&p1,sizeof(p1));
  xdr_short(&xdr,&s1);
  xdr_char(&xdr,&c1);
  xdr_double(&xdr,&d1);

  xdrmem_create(&xdr,buff,120,XDR_DECODE);

  xdr_string(&xdr,&p2,sizeof(p2));
  xdr_short(&xdr,&s2);
  xdr_char(&xdr,&c2);
  xdr_double(&xdr,&d2);

  return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读