grpc服务

本文详细介绍了如何使用gRPC在Python中创建服务端和客户端。首先,你需要创建一个.proto文件定义函数及参数。接着,通过python-grpcio-tools工具生成Python接口文件。在服务端,实现proto文件定义的接口,创建grpc服务器并绑定类与服务。客户端则需要建立到服务端的连接,调用服务端方法并接收返回结果。整个过程涉及网络通信、protobuf消息定义和gRPC交互。
摘要由CSDN通过智能技术生成

(心得和简要过程)
1、首先是创建一个.proto的文件,在里面写上自己将要发行的函数,返回参数和请求参数
安装两个依赖:
python -m pip install grpcio
python -m pip install grpcio-tools
升级依赖:python -m pip install --upgrade 该依赖名
2、再运行启动 .proto文件,生成xxx_pb2_grpc.py,xxx_pb2.py两个py文件:python -m grpc_tools.protoc -I…/…/protos --python_out=. --grpc_python_out=. …/…/protos/xxx.proto
此种启动代码是这个文件都在一个目录下:
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. ./xxx.proto

3、然后创建class类,类中导入route_guide_pb2_grpc.py文件中的Servicer,(grpc后缀的文件是关于服务端的,没有grpc后缀的是关于客户端的);
在该类中创建函数,里面的数据是通过客户端传入,所以可以通过request来接收,(譬如客户端传过来的是data,可以直接request.data就可以得到客户端传过来的值),然后通过1、写的返回参数返回在函数中计算的值;返回的值的格式必须是proto文件中规定的格式。
因为是要返回给客户端就要用没有grpc后缀的文件导入的response。
最后在server端就只剩下连接的问题了,创建grpc.server,然后通过生成的有grpc后缀的文件让导入一个add什么什么来连接该类和grpc.server,最后的最后就只剩下端口的连接了,通过创建的grpc.server来创建一个ip和端口的连接,连接词有add_xxx_port,在里面写上ip和端口号,然后start启动就行了

4、写完服务端,再续写客户端,客户端写的是关于传到服务端的参数,首先也会有一个启动函数run,当然用其他的名字也可以,不一定非得用run。
在开始客户端的函数的编写的时候,首先要明白的是,要先连接服务端,才会有后面的函数中的操作;然后跟服务端一样的,创建一个grpc.insecure_channel的连接,在里面会写上和server服务端一样的ip和端口号,然后通过带有grpc后缀的文件去连接。
用连接的这个值去调用server服务端中的函数,然后将自己所需要的数据传输进去,传输进去的数据会在服务端进行计算,然后通过server端得return返回过来,这个时候怎么接收呢?在刚刚传输数据的时候会调用没有grpc后缀文件的Request(请求参数,传入参数)来进行传输。
在这个过程中就会得到数据,可以通过Response中的刚开始后设计的值获取(譬如在proto文件中给Response设计的参数有data,则可以通过.data来获取相应的data的值)。
如果有多中的计算或者不同的规则,就可以再建一个函数,创建方法如上。以上的函数,里面是可以传入参数进行运算的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值