为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 grpc 编码的数据存储在 Java 字符串中?

如何将 grpc 编码的数据存储在 Java 字符串中?

神不在的星期二 2023-04-13 14:28:27
我需要在 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);


查看完整回答
反对 回复 2023-04-13
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信