Go 上下文的内容能否在grpc中传输?
我已经定义了客户端和服务器。它们都有一个ctx(上下文)作为参数,客户端和服务器通过grpc进行通信Go 上下文的内容能否在grpc中传输?,go,grpc,Go,Grpc,我已经定义了客户端和服务器。它们都有一个ctx(上下文)作为参数,客户端和服务器通过grpc进行通信 type Client interface { GetFileVersion(ctx context.Context, in *Req) (*Resp, error) } type client struct { cc *grpc.ClientConn } func (c *client) GetFileVersion(ctx context.Context, in *Req
type Client interface {
GetFileVersion(ctx context.Context, in *Req) (*Resp, error)
}
type client struct {
cc *grpc.ClientConn
}
func (c *client) GetFileVersion(ctx context.Context, in *Req) (*Resp, error) {
out := new(Resp)
err := grpc.Invoke(ctx, "/testpb/GetFileVersion", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
type Server interface {
GetFileVersion(context.Context, *Req) (*Resp, error)
}
如果我在客户端的GetFileVersion实现中在ctx中设置了值,我可以在服务器中获得该值吗
ctx = context.WithValue(parent, "test", 123)
context
是全局请求变量的通用注册表。它不应该脱离请求范围。考虑另一种方式。<代码>上下文< /C> >是全局<强>请求<强>变量的通用注册表。它不应该脱离请求范围。考虑另一种方式。
上下文库中不存在该功能。如果您的上下文中有需要传输的值,则必须手动传输。该功能在上下文库中不存在。如果您的上下文中有需要传输的值,则必须手动进行传输。