【发布时间】:2018-03-12 20:24:26
【问题描述】:
我在 golang 中使用grpc.Dial(server) 来设置到我的服务器的 grpc 连接。
如何通过此拨号连接(从客户端)发送元数据或自定义标头?
【问题讨论】:
我在 golang 中使用grpc.Dial(server) 来设置到我的服务器的 grpc 连接。
如何通过此拨号连接(从客户端)发送元数据或自定义标头?
【问题讨论】:
我认为 grpc 是您的客户端连接对象。
您使用来自 map[string]string(提供的其他一些方法)的元数据子包创建元数据,然后通过上下文传递它,例如
md := metadata.New(map[string]string{"key1": "val1", "key2": "val2"})
ctx := metadata.NewOutgoingContext(context.Background(), md)
因为您通过上下文传递元数据,所以您需要使用 client.DialContext() 而不是 Dial 我认为 https://godoc.org/google.golang.org/grpc#DialContext
这里有一些例子 - https://github.com/grpc/grpc-go/blob/master/Documentation/grpc-metadata.md
【讨论】: