如何将客户端连接记录到gRPC服务器?
问题描述:
如何将客户端连接记录到gRPC服务器?如何将客户端连接记录到gRPC服务器?
也就是说事件当客户端连接,我应该能够得到一些基本信息,如IP,版本和记录它从192.168.1.1
DATETIME连接AppName的
答
今天,IP地址和版本是基于每个RPC的基础上,但不是当客户端连接。您可以使用serverCall.attributes().get(Grpc.TRANSPORT_ATTR_REMOTE_ADDR)
获取IP地址,并且该版本包含在User-Agent
元数据中。
Issue 2312(v1.1)将添加一个机制来通知新的连接。它可以访问客户端的IP地址,但它不知道客户端版本。由于诸如代理之类的事情,客户端版本仅基于每个RPC而知晓。
什么是“基于每个RPC的基础”?它是否在服务器上的rpc呼叫? –
服务特定的RPC时,服务器可以检测到客户端的版本。但是建立连接时不知道版本,并且一个连接可以包括来自多个不同客户端(并因此多个不同版本)的请求。 –
“一个连接可以包括来自多个不同客户端的请求” 我很遗憾地错过了这个基本的东西。你能指出确切的文档页面吗? –