介绍
本文讲述如何使用 grpc,由 go 作为客户端,python 作为服务端进行通信。
(题外:一直迷惑于怎样让他们两个连起来,后来才发现只要对同一个proto文件进行编译就好了。。。😓)
实现功能
python 实现方法 f(name) ,返回 "hello "+name,由 go 调用得到返回值
安装配置
Go
个人配置是 go 1.12 ,使用 go mod 项目管理
因为有些包会被墙,所有要配置GOPROXY,我配置的是阿里的GOPROXY="https://mirrors.aliyun.com/goproxy/"
安装 grpc,protobuf编译器和对应的 go 插件
go get google.golang.org/grpc
go get github.com/golang/protobuf/proto
go get github.com/golang/protobuf/proto-gen-go
注:如果在 goland 编译器里使用命令行也需要配置代理
python3
同样也是安装 grpc,protobuf等
pip3 install grpcio
pip3 install protobuf
pip3 install grpcio-tools
开始
我使用的是 goland 编译器,然后引入了 python 解释器