java - gRPC Java客户端: get connected endpoint

标签 java grpc grpc-java

是否可以从 channel 获取实际连接的端点? 我使用 nameResolverFactory 来获取我的 channel 的多个可能的端点。建立连接后我想知道与哪个端点。

最佳答案

channel 不提供在发出 RPC 之前了解正在使用哪个端点的方法。每个 RPC 可能使用不同的连接(例如,使用循环负载均衡器),因此这对于 Channel 来说不是一个有意义的问题。

但是,如果您执行 RPC,则在收到响应 header 后,您可以调用(例如,从拦截器)clientCall.getAttributes()然后得到 Grpc.TRANSPORT_REMOTE_ADDR 。这会返回特定 RPC 使用的端点地址。

关于java - gRPC Java客户端: get connected endpoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56732814/

相关文章:

java - SSLEngine 展开() javax.crypto.BadPaddingException : bad record MAC

grpc - 连接错误 io.netty.handler.codec.http2.Http2Exception : HTTP/2 client preface string missing or corrupt. 接收字节的十六进制转储:

grpc - 如何取消 GRPC 流式调用?

java - Android java-grpc 客户端到 python-grpc 服务器

java - Web3j调用智能合约中的变量

java - 面对 java.lang.UnsupportedClassVersionError : com/facebook/fb303/FacebookService$Iface error while starting hive

javac 无法在 .jar 中找到类,即使它们存在?

macos - 如何在 Mac 中使用 grpcurl?

protocol-buffers - gcloud 端点部署错误未解决类型

java - 如何使用 keystore 在 grpc 中使用 java 启用 ssl