我正在尝试从Java客户端连接到grpc服务。问题是,该服务目前仅支持grpc-web over http1.1,这是因为在部署该服务的Azure App服务中支持http2的限制。来自io.grpc的grpc-java客户机库只支持http2协议上的grpc,maskes sense,不巧的是,它不适合我。
我设法使用来自apache和okhttp3的超文本传输协议客户端使用了一个服务,但这适用于一元调用,而不适用于服务器端流服务。
有没有人知道我可以使用的grpc-web java客户机库,或者使用方便的Http阅读grpc-web服务器端流服务的变通方法。
发布于 2021-07-30 16:10:13
如果我正确理解了你的问题,你想要一个用于gRPC-Web的Java客户端,这样你的客户端就可以通过一个gRPC-Web代理(例如Envoy gRPC-Web)与HTTP/1.1对话,因为你不能因为Azure网络限制而直接与你的服务对话?
从理论上讲,这应该是可能的。JavaScript实现是因为,在浏览器中,除了JSON代码转换之外别无选择。JavaScript实现确实实现了服务器端流,这是另一个需求,并确认这在HTTP1.1上应该是可能的。
然而,在快速搜索中,我没有找到gRPC-Web的其他(即非JavaScript)客户端实现。
https://stackoverflow.com/questions/68592382
复制相似问题