GRP C - GO: заглушка клиента не отображается в созданном файле pb. go - PullRequest
0 голосов
/ 03 февраля 2020

Я пытаюсь выучить GRP C у официального do c, вот учебник, которому я следовал grp c - go

Генерация прото используя эту команду

protoc  --go_out=$PWD  helloworld/helloworld.proto

Эта команда без проблем сгенерирует файл helloworld.pb.go, но проблема в том, что в сгенерированном файле отсутствует код для заглушки клиента

syntax = "proto3";
package helloworld;

// The greeting service definition.
service Greeter {
  // Sends a greeting
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

// The request message containing the user's name.
message HelloRequest {
  string name = 1;
}

// The response message containing the greetings
message HelloReply {
  string message = 1;
}

Фактическая ошибка, которую я получаю от клиентского соединения, это

undefined: helloworld.NewGreeterClient

И это произошло из строки c := pb.NewGreeterClient(conn) в greeter_client/main.go file

Причина в том, что клиентская заглушка не сгенерирована в сгенерированном файле

Ответы [ 2 ]

0 голосов
/ 03 февраля 2020

Добавьте --I к вашей команде. например,

protoc -I helloworld --go_out=${PWD} helloworld/*.proto
0 голосов
/ 03 февраля 2020

Устранена проблема. У меня возникли проблемы с командой

. Здесь указана актуальная команда

protoc   --go_out=plugins=grpc:$PWD helloworld.proto
.
...