钱文翔的博客

使用gRPC交互

在.protoc中定义gRPC接口:

1
2
3
4
5
6
7
syntax = "proto3";
package example;
service FormatData {
rpc DoFormat(Data) returns (Data){}
}
message Data {
string text = 1;

使用protoc将.protoc转化为你想要的语言的文件,方便调动 。
编译器protoc的下载地址:
https://github.com/google/protobuf/releases/tag/v3.4.1

Windows的版本:
https://github.com/google/protobuf/releases/download/v3.4.0/protoc-3.4.0-win32.zip

使用protoc将.proto文件转为对应语言的文件。如果你想要python的协议文件的话,则将参数设置为–python_out:
protoc -I=./ –python_out=./ ./rpc.proto

若是Golang的话,则为:
protoc -I=./ –go_out=./ ./rpc.proto

使用Python的话,可以:

1
2
3
4
pip install grpcio
pip install protobuf
pip install grpcio-tools
python -m grpc_tools.protoc -I../../protos --python_out=. --grpc_python_out=. ../../protos/helloworld.proto

proto3和proto2语法不一样,基本上是关键字变少了。

例子