【发布时间】:2012-12-07 20:15:38
【问题描述】:
所以根据我对 thrift 的理解,Java 是唯一一种不支持二进制安全字符串的语言,因此是 thrift 二进制类型。我的问题是它似乎不起作用。
我的定义文件是:
service myService {
int myMethod(1:binary input)
}
我的 Java 客户端在调用 myMethod 之前从观察到具有正长度和可打印字节的二进制数据构建一个 ByteBuffer。
在 myMethod 的 C++ 实现中(来自 thrift 生成的服务器框架),尝试打印输入显示它始终为空,大小为 0。
任何想法我在这里缺少什么?将二进制文件更改为字符串让一切都像魅力一样工作,减去我不希望以后处理不安全的 java 转换字符串的事实......
【问题讨论】:
-
二进制类型是 Thrift 中某些语言之间已知的互操作性问题。但我没有听说过 Java C++ 有问题。您是否捕获了原始电线数据?