0

当我阅读有关 grpc-go 的源代码时,例如rsp, err := c.SayHello(context.Background(), &pb.HelloRequest{Name: name})grpc helloworld 示例。我知道它使用 protobuf 消息来发送请求和接收响应,它还使用status.proto文件中定义的 protobuf 传输错误消息。但我不明白客户端和服务器之间的上下文如何传输。我猜它也使用 pb 消息,但我找不到它的定义位置。还是通过http2头帧传输?

4

2 回答 2

-1

客户端作为第一个参数传递的上下文与服务器接收到的上下文不同。

它们都只是本地上下文处理程序。它们帮助您的本地代码检查请求是否仍在运行。因此,如果请求因某种原因被中断,您可能会中断进程。

于 2019-08-21T00:15:25.840 回答
-1

不清楚上下文传输是什么意思,因为context.Context它只是一个没有序列化/反序列化方法的 Go 对象。也许您在谈论GRPC 元数据。据我记得,他们使用 HTTP 标头作为传输。

于 2019-06-25T12:57:32.423 回答