微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java 中的 Grpc-Web 客户端

如何解决Java 中的 Grpc-Web 客户端

我正在尝试从 Java 客户端连接到 grpc 服务。问题是该服务目前仅支持通过 http1.1 的 grpc-web,这是因为在部署该服务的 Azure App 服务中支持 http2 存在限制。 io.grpc 的 grpc-java 客户端库仅支持基于 http2 协议的 grpc,这掩盖了意义,不幸的是对我不起作用。

我设法使用来自 apache 和 okhttp3 的 HTTP 客户端来使用服务,但这适用于一元调用,而不适用于服务器端流媒体服务。

是否有人知道我可以使用的 grpc-web java 客户端库或使用方便的 Http 读取 grpc-web 服务器端流媒体服务的工作。

解决方法

如果我正确理解您的问题,您需要一个用于 gRPC-Web 的 Java 客户端,以便您的客户端可以通过 gRPC-Web 代理(例如 Envoy gRPC-Web)与 HTTP/1.1 通话,因为您无法使用 HTTP /2 由于 Azure 网络限制而直接连接到您的服务?

理论上这应该是可能的。 JavaScript 实现是因为在浏览器中,除了 JSON 转码之外别无选择。 JavaScript 实现确实实现了服务器端流式传输,这是另一个要求,并确认这应该可以通过 HTTP/1.1 实现。

但是,在快速搜索中,我没有发现 gRPC-Web 的其他(即非 JavaScript)客户端实现。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。