gRPC Java 客户端:获取连接的端点

gRPC Java Client: get connected endpoint

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

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

但是如果您执行 RPC,在收到响应后 headers 您可以调用(例如,从拦截器)clientCall.getAttributes() and then get Grpc.TRANSPORT_REMOTE_ADDR。 returns 特定 RPC 使用的端点地址。