【go】golang中grpc问题

在学grpc使用的时候,用的官方的例子,为啥我生成的pb文件没有RegisterGreeterServer,NewGreeterClient等方法呢?
【go】golang中grpc问题

生成方法:

protoc grpc-test/helloworld/helloworld.proto  --go_out=./

proto文件:

syntax = "proto3";

option java_multiple_files = true;

option java_package = "io.grpc.examples.helloworld";

option java_outer_classname = "HelloWorldProto";

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;

}

我看了官方例子生成的代码是有这个方法的

func RegisterGreeterServer(s *grpc.Server, srv GreeterServer) {

s.RegisterService(&_Greeter_serviceDesc, srv)

}

//.....

func NewGreeterClient(cc *grpc.ClientConn) GreeterClient {

return &greeterClient{cc}

}

为啥我通过protoc创建的没有这两个方法呢?

回答

生成命令得是 protoc grpc-test/helloworld/helloworld.proto --go_out=plugins=grpc:.
这里要指定插件支持grpc,否则不会生成Service的接口.

我也遇到这个问题了。 最新版本 叫 pb.RegisterCreateServer

以上是 【go】golang中grpc问题 的全部内容, 来源链接: utcz.com/a/98689.html

回到顶部