【发布时间】:2012-12-03 00:16:59
【问题描述】:
我正在尝试通过 RPC 发送一个数组,但是当数据数组变得很大时,我收到“RPC:无法编码参数”。据我所见,不到 10Kb。
这是失败的那一行。
xdr_bytes (xdrs, (char **)&objp->data, (uint*)&objp->len, objp->len))
这是被引用的结构。
struct dataStruct {
unsigned int len;
u_char *data;
};
有没有办法修复这个错误,或者有其他方法可以发送任意大的数组?
【问题讨论】:
-
你试过 bool_t xdr_opaque(XDR *xdrs, char *cp, unsigned int cnt) 吗?
-
同样的结果。原来这是我使用的网络协议(UDP)的问题。搜索对 xdr_opaque 的引用确实将我带到了一个确实有我答案的手册页部分!