因此,根据我对 thrift 的理解,Java 是唯一一种没有二进制安全字符串的受支持语言,因此是 thrift 二进制类型。我的问题是它似乎不起作用。
我的定义文件是:
service myService {
int myMethod(1:binary input)
}
我的 Java 客户端在调用 myMethod 之前从观察到具有正长度和可打印字节的二进制数据构建 ByteBuffer。
在 myMethod 的 C++ 实现中(来自 thrift 生成的服务器骨架),尝试打印输入显示它始终为空大小为 0。
有什么想法我在这里想念的吗?将二进制文件更改为字符串使一切都像魅力一样工作,减去我不希望以后处理不安全的 java 转换字符串的事实......