go grpc做服务端使用proto协议传输, php做客户端调用

安装go

我是从docker hub 下载go容器

安装grpc和proto和protobuf插件

protoc 是一个Protobuf的编译器
grpc是谷歌的rpc框架
github.com/golang/protobuf/{proto,protoc-gen-go}
这块是go语言的proto代码包

先安装Protobuf 编译器 protoc,下载地址:https://github.com/google/protobuf/releases
拿出里面的二进制包,比如protoc-3.14.0-linux-x86_64.zip,获得protoc命令

下面的go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
命令我没有执行成功,没有连接上网上查找解决办法是执行:
先执行以下命令换代理

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.io,direct

注意,go env -w GO111MODULE=on
改完代码中的import就不会使用gopath路径了,下载后要改回来。

git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc 
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net 
git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text 
go get -u github.com/golang/protobuf/{proto,protoc-gen-go} 
git clone https://github.com/google/go-genproto.git 

$GOPATH/src/google.golang.org/genproto 

cd $GOPATH/src/ 
go install google.golang.org/grpc

编译协议文件变成go pb文件

protoc protos/helloworld.proto --go_out=plugins=grpc:go 

其中 protoc 为protocl buffers编译器
protos/helloworld.proto 为protos目录下的helloworld.proto协议文件
–go_out 参数为输出go pb文件
plugins为指定插件
grpc:go go为输出的目录为go

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值