したがって、thriftについての私の理解では、Javaは、バイナリセーフな文字列を持たないサポートされている唯一の言語であるため、thriftバイナリタイプです。私の問題はそれがうまくいかないようだということです。
私の定義ファイルは次のとおりです。
service myService {
int myMethod(1:binary input)
}
私のJavaクライアントは、myMethodを呼び出す前に、正の長さであることが確認されたバイナリデータと印刷可能なバイトからByteBufferを構築します。
myMethodのC++実装のすぐ内側(節約によって生成されたサーバースケルトンから)、入力を出力しようとすると、常にサイズ0の空であることが示されます。
私がここで見逃しているアイデアはありますか?バイナリを文字列に変更すると、安全でないJava変換された文字列を後で処理したくないという事実を除いて、すべてが魅力のように機能します...