RPC:xdr_bytes "Can't encode arguments"当阵列太大时
RPC: xdr_bytes "Can't encode arguments" when array is too large
我正在尝试通过 RPC 发送数组,但是当数据数组变大时,我收到"RPC:无法编码参数"。从我所看到的不到 10Kb。
这是失败的行。
xdr_bytes (xdrs, (char **)&objp->data, (uint*)&objp->len, objp->len))
下面是引用的结构。
struct dataStruct {
unsigned int len;
u_char *data;
};
有没有办法修复此错误,或者另一种发送任意大数组的方法?
在检查了其他 RPC 命令的手册页后,我发现了这个:
"警告:使用UDP有其缺点。由于基于 UDP 的 RPC 消息最多只能容纳 8 KB 的编码数据,因此此传输不能用于采用大量参数或返回巨大结果的过程。
我确实在使用UDP,切换到TCP后消息会正确发送到服务器。
相关文章:
- 具有变量Number of Arguments的std::函数的矢量
- 如何修复"too few arguments to function"?
- 开放CV垫"Sizes of input arguments do not match"的问题
- 有没有办法在初始化字符串时避免来自 clang-tidy(fuchsia-default-arguments)的警告?
- glGenVertexArrays and glGenBuffers arguments
- 'type_alias<char[N]>{}' VS 'char[N]{}' in function's arguments
- Command Line Arguments wxCmdLineArgsArray in wxWidgets
- OpenCV std::vector for cv::Mat arguments
- map.insert:"Invalid arguments"错误与 pair<enum,vector<*>>
- VS说"Too few arguments...",但其他编译器给了我正确的输出?
- Win32 CreateThread() Arguments Zero'ed?
- Eclipse CDT - 使用模板默认值时的"Invalid arguments"
- "All arguments to functions are passed by value" C 中的,C++ 中对引用传递的混淆
- std::result_of for lvalue/rvalue arguments
- RPC:xdr_bytes "Can't encode arguments"当阵列太大时
- 是“ Gnu-Zero-variadic-Macro-arguments”可靠地忽略
- MEX 编译给出"there are no arguments to ... that depend on a template parameter"错误
- boost::spirit::xml::encode for wide string
- C++日食给出了常量参数的"Invalid Arguments"
- Doxygen@param direction arguments[in],[out],[in,out]示例输出