1、安装protoc工具
# 地址
https://github.com/protocolbuffers/protobuf/releases
# 下载Win64版本的
https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-win64.zip
# 设置环境变量
2、安装protoc-gen-go插件
> go get -u github.com/golang/protobuf/protoc-gen-go
> go get -u google.golang.org/protobuf/protoc-gen-go
3、定义proto文件
syntax = "proto3";option go_package = "./proto;proto";
// ./proto 表示生成的go文件的存放地址,会自动生成目录的。
// proto 表示生成的go文件所属的包名service GatewayServer{// 服务端流式rpc(服务端发送消息给客户端),在响应数据前添加streamrpc SendMessage(SendMessageRequest)returns(stream SendMessageResponse){};
}// 定义发送请求信息
message SendMessageRequest{// 定义发送的参数,采用驼峰命名方式,小写加下划线,如:student_name// 消息名称string name = 1;// 消息内容string data = 2;
}// 定义流式响应信息
message SendMessageResponse{// 流式响应数据string stream_value = 1;
}
4、生成go文件
> protoc --go_out=plugins=grpc:. demo.proto