为了账号安全,请及时绑定邮箱和手机立即绑定

grpc中能否传输context的内容?

grpc中能否传输context的内容?

Go
海绵宝宝撒 2023-04-24 16:17:25
我已经定义了一个客户端和服务器。它们都有一个ctx(context)作为参数,client和server通过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) (*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)
查看完整描述

1 回答

?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

context是全局请求变量的通用注册表。它不应该逃脱请求范围。考虑换一种方式。



查看完整回答
反对 回复 2023-04-24
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信