gRPC基础教程(二)
生成客户端和服务端代码
官方给的.proto文件 routeguide/route_guide.proto
上文介绍了gRPC的几种RPC请求类型
下一步我们需要使用.proto文件生成gRPC客户端和服务端的接口代码。因为gRPC是支持多语言的,目前支持C#,c++,Go,Java,Python,PHP等。我选的Go的教程,其他的也一样,只不过生成对应语言的代码需要的插件不一样罢了。现在需要使用protocol buffer编译器protoc去生产Go的代码。
在同级目录下运行
$ protoc --go_out=. --go_opt=paths=source_relative \ --go-grpc_out=. --go-grpc_opt=paths=source_relative \ routeguide/route_guide.proto
在执行这条命令之后会生成以下文件
- route_guide.pb.go,该文件包括所有protocol buffer代码包含填充,序列化,检索request和response的消息类型
- route_guide_grpc.pb.go,包含
- 客户端调用在RouteGuide服务中定义的方法接口
- 服务端需要实现的接口,同样也在RouteGuide服务中预定义过
创建服务端
实现服务端的步骤分为两步
- 实现我们先前在服务中定义的接口
- 运行gRPC服务端去监听来在客户端的请求外加分发到正确的服务上去
下次会讲RouteGuide的具体实现