标签:turn 需要 ack rgba response coding ESS 学习 pre
最近在工作中需要用到grpc ,学习来源于bilibili dewei_zhang的视频
hello_world.proto
// 定义一个服务的框架,服务名和服务下的函数名,以及函数下的request 和response, // 和resquest 和response 对应的参数 //使用哪种protobuf 协议 syntax="proto3"; package test; //服务名:Mianmian,以及里面定义的rpc函数HelloMian service Mianmian{ rpc HelloMian(HelloMianReq) returns(HelloMianReply) {} //添加一些插件 } message HelloMianReq{ string name = 1; int32 age =2; } message HelloMianReply{ string result =1; }
生成对应的python文件:hello_world_pb2.py ,hello_world_pb2_grpc.py
python -m grpc_tools.protoc -I. --python_out=. --grpc_python_out=. hello_world.proto
service.py
#!/usr/bin/env python # -*- coding:utf-8 -*- #@Time : 2021/6/5 13:37 #@Author: Tana #@File : service.py import grpc import hello_world_pb2 as pb2 import hello_world_pb2_grpc as pb2_grpc from concurrent import futures import time class Mianmian(pb2_grpc.MianmianServicer): def HelloMian(self, request, context): name=request.name age=request.age result={"code":"succeed", "data":f‘my name is {name},i am {age} years old‘ } return pb2.HelloMianReply(result=result) def run(): #定义grpc线程数量 grpc_server=grpc.server(futures.ThreadPoolExecutor(max_workers=4)) #注册服务到grpc_server pb2_grpc.add_MianmianServicer_to_server(Mianmian(),grpc_server) #绑定ip和端口号 grpc_server.add_insecure_port(‘0.0.0.0:5001‘) print("server will start at 0.0.0.0:5001") #这个start 在python里面会启动一下就停了,所以需要写一个无限循环 grpc_server.start() try: while 1: print("1") time.sleep(3600) except KeyboardInterrupt: grpc_server.stop(0) if __name__=="__main__": run()
client.py
#!/usr/bin/env python # -*- coding:utf-8 -*- #@Time : 2021/6/6 15:26 #@Author: Tana #@File : client.py import grpc import hello_world_pb2_grpc as pb2_grpc import hello_world_pb2 as pb2 def run(): #定义一个频道,绑定服务器端对应的ip 和端口号 conn = grpc.insecure_channel(‘0.0.0.0:5000‘) #生成客户端 client = pb2_grpc.MianmianStub(channel=conn) response = client.HelloMian(pb2.HelloMianReq( name="mianmian", age=18 )) print(response.result) if __name__==‘__main__‘: run()
标签:turn 需要 ack rgba response coding ESS 学习 pre
原文地址:https://www.cnblogs.com/yan-2010/p/14854127.html