grpc第四篇:grpc-go、grpc-java桩代码生成及服务端、客户端开发
假设有一个proto文件,内容同https://github.com/grpc/grpc-go/blob/master/examples/helloworld/helloworld/helloworld.proto,如何生成golang或者java的桩代码?
生成golang桩代码:
1、安装protoc
在mac上执行:brew install protobuf
windows需要去https://github.com/protocolbuffers/protobuf/releases下载protoc-$version-win64.zip,解压后,把bin目录中的protoc文件放到C:\Program Files\Go\bin目录中。
安装完后,可以执行protoc校验是否安装成功。
2、安装protoc-gen-go和protoc-gen-go-grpc
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
go install安装完之后,可以在GOPATH/bin目录中看到安装的二进制文件。
3、执行生成代码命令:
protoc --proto_path=/path --go_out=. --go-grpc_out=. xxx.proto
其中--proto_path用于指定proto文件所在目录,--go_out用于指定生成xxx.pb.go文件的目录,--go-grpc_out用于指定生成xxx_grpc.pb.go文件的目录。
执行完后,会生成xxx.pb.go和xxx_grpc.pb.go文件。
生成java桩代码:
1、安装protoc
2、安装protoc-gen-grpc-java
从https://repo.maven.apache.org/maven2/io/grpc/protoc-gen-grpc-java/下载最新版的protoc-gen-grpc-java文件,
mac下载protoc-gen-grpc-java-$version-osx-x86_64.exe或protoc-gen-grpc-java-$version-osx-aarch_64.exe,具体看是cpu类型。之后,chmod 777授权
windows下载protoc-gen-grpc-java-$version-windows-x86_64.exe
3、执行命令生成service相关类:
protoc --proto_path=/path --plugin=protoc-gen-grpc-java=/path/protoc-gen-grpc-java-1.56.1-osx-x86_64 --grpc-java_out=. xxx.proto
会生成xxxGrpc.java文件,其中xxx是proto文件中service的名字。
4、执行命令生成message相关类:
protoc --proto_path=/path --java_out=. xxx.proto
会生成多个java文件。
也可以用idea生成,参考
https://blog.51cto.com/humorchen/2986133
服务端、客户端开发可参考https://github.com/grpc/grpc-go/tree/master/examples/helloworld
服务端跟普通http web服务一样,启动后也是监听某个端口的,客户端通过这个端口与服务端进行交互。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】