【问题标题】:Find client name for gRPC call in Go在 Go 中查找 gRPC 调用的客户端名称
【发布时间】:2019-04-17 02:28:13
【问题描述】:

我使用 protobufs 来定义我的模型和 gRPC 服务,并为 Go (.pb.go) 生成了 protos。当我对服务进行 gRPC 调用时,我想在服务器中找出调用服务器 API 的客户端/应用程序的名称。 API 中的 context 参数可以在这里提供帮助吗?

【问题讨论】:

    标签: go protocol-buffers grpc grpc-go


    【解决方案1】:

    您可以使用WithUserAgent 拨号选项在客户端上设置自定义用户代理字符串。

    要在服务器端检索用户代理,请参阅this question。它没有完全回答,但您可以打印元数据映射并查看用户代理如何存储在元数据中。然后在那里发布你的发现:)

    【讨论】:

      【解决方案2】:

      作为一个选项,您可以使用GRPC Metadata。它不是强类型(因为它只是map[string][]string),但可能很好地满足您的需求。在客户端设置自定义元数据字段并在服务器处理程序中检查此字段。

      【讨论】:

        猜你喜欢
        • 2020-06-25
        • 2014-01-07
        • 1970-01-01
        • 2020-09-23
        • 2020-07-22
        • 1970-01-01
        • 1970-01-01
        • 2018-07-04
        • 2019-03-28
        相关资源
        最近更新 更多