Как контекст grpc-go передается между клиентом и сервером? - PullRequest
0 голосов
/ 23 июня 2019

Когда я читаю исходный код о grpc-go, такой как rsp, err := c.SayHello(context.Background(), &pb.HelloRequest{Name: name}) в примере с grpc helloworld. Я знаю, что для отправки запроса и получения ответа используется сообщение protobuf, а также сообщение об ошибке передачи protobuf, определенное в файле status.proto. Но я не могу понять, как происходит передача контекста между клиентом и сервером. Я предполагаю, что это также использует сообщение pb, но я не могу найти, где это определено. Или это передается по заголовку http2?

1 Ответ

0 голосов
/ 25 июня 2019

Непонятно, что вы подразумеваете под передачей контекста, потому что context.Context - это просто объект Go, у которого нет методов для сериализации / десериализации. Возможно, вы говорите о метаданных GRPC . Насколько я помню, они используют HTTP-заголовки в качестве транспорта.

...