python rpc
进入examples/python/route_guide,运行:
pip install grpcio-tools
python -m grpc_tools.protoc -I../../protos --python_out=. --pyi_out=. --grpc_python_out=. ../../protos/route_guide.proto
python -m
代表将库文件当成脚本进行运行。我这里运行的是anaconda3/envs/grpc/lib/python3.9/site-packages/grpc_tools/protoc.py
上面的命令生成了route_guide_pb2.py和route_guide_pb2_grpc.py
实现server的流程:
- 实现proto中定义的service
- 开启监听,监听客户发来的请求
feature = stub.GetFeature(point) # 如果没有立即返回,应该会阻塞在这里
feature_future = stub.GetFeature.future(point) # 如果没有立即返回,不会阻塞在这里
feature = feature_future.result() # 想要结果的时候再去取出来