记录第一次使用gRPC
只记录关键点
首先protoc 需要自己去下载,下载地址 Release Protocol Buffers v23.3 · protocolbuffers/protobuf · GitHub
然后需要去找里面编译好的程序,(我windows电脑就选的)
我是go写的服务端 就把解压出来的protoc.exe放到了 bin目录下,加好环境变量,接下来
执行
go install github.com/golang/protobuf/protoc-gen-go@latest
这个是用来生成go代码的插件,哎呀 不想写了 写点重要的吧
主要是 proto文件的编写
syntax = "proto3"; package main; option go_package = "./;main"; service QuestionService { rpc GetAnswerQuery(AnswerQuery) returns (AnswerReponse){} } message AnswerQuery { string queryJson = 1; } message AnswerReponse { string reponseJson =1; }
具体百度吧 我想说明的就是 下面的命令
--go_out 是生成 proto里面用到的结构体
--go-grpc_out 是生成grpc服务端和客户端的代码
protoc-gen-go-grpc.exe 这个程序就是 上面 go install 之后生成的插件
protoc -I . --go_out . --go-grpc_out . --plugin=protoc-gen-go-grpc.exe *.proto
执行上面命令后 就会生成 *.bp.go 和 *.grpc.bp,go 两个文件 就可以直接使用了
其他语言 执行上面的命令 参数就需要变一下
比如说我的客户端时c#写的 命令就是 >protoc -I . --csharp_out . --grpc_out . --plugin=protoc-gen-grpc=grpc_csharp_plugin.exe *.proto
具体百度吧 ,不想写了。
不想平凡,奈何太懒 T_T