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