我需要在 Java 中發出以下命令:// 我想將以下內容存儲在一個字符串中:'\x00\x00\x00\x00\x15{“message”:”Hello”}’我將執行的整個過程如下所示,但我首先需要將上面的字符串存儲到 StringArray 或任何有效的方法中。這是 grpc 編碼我需要使用 Envoy 代理 http-grpc 橋。curl -i -X POST -H "Content-Type:application/grpc+json” http://10.20.1.10:31234/com.test.echo.EchoService/echo -d '\x00\x00\x00\x00\x15{“message”:”Hello”}’我特別關心如何在字符串中強烈表示 -d 之后的最后一部分,以便我可以發送它。我如何將其存儲在 Java 中?更新; 我努力了:String content = "x00x00x00x00x15{“message”:”Hello”}";和 String content = "//x00//x00//x00//x00//x15{“message”:”Hello”}";但是兩者都返回 grpc 13 代碼和 Jul 23, 2019 6:41:36 AM io.grpc.netty.shaded.io.grpc.netty.NettyServerStream$TransportState deframeFailedWARNING: Exception processing messageio.grpc.StatusRuntimeException: INTERNAL: gRPC frame header malformed: reserved bits not zeroat io.grpc.Status.asRuntimeException(Status.java:524)at io.grpc.internal.MessageDeframer.processHeader(MessageDeframer.java:377)
1 回答

MMTTMM
TA貢獻1869條經驗 獲得超4個贊
順便說一句,你可以使用 ByteBuffer
byte[] payload = ???;
int payloadSize = payload.length;
ByteBuffer buf = ByteBuffer.allocate(payloadSize + 5);
buf.put((byte) 0);
buf.putInt(payloadSize);
buf.but(payload);
添加回答
舉報
0/150
提交
取消