1. 安装grpc
官网的安装命令:
go get -u google.golang.org/grpc
貌似用不了,连不上服务器,即便我挂上vpn也没有用,没办法只有迂回安装了, 反正代码在github上都有,就从github上clone下来, 需要的库包括grpc-go, golang/net, golang/text, protobuf/proto, protobuf/protoc-gen-go, google/go-genproto
# 如果已经安装了proto和protoc-gen-go的话就不用安装了
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
# 下载grpc-go
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc
# 下载golang/net
git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net
# 下载golang/text
git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text
# 下载go-genproto
git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto
# 安装
cd $GOPATH/src/
go install google.golang.org/grpc
2. 生成grpc.pb
我们就用官网提供的helloworld example试下
protoc -I helloworld/ helloworld/helloworld.proto --go_out=plugins=grpc:helloworld
plugins=grpc:helloworld, grpc:后面跟的helloworld是要生成的pb文件的文件路径
3. 运行 helloworld example
- 运行server
$ go run greeter_server/main.go
- 运行client
$ go run greeter_client/main.go 2018/09/19 11:23:31 Greeting: Hello world