韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python基础教程 > Python如何搭建gRPC服务

Python如何搭建gRPC服务

Python grpc

头像

小妮浅浅

2021-09-11 09:28:233719浏览 · 0收藏 · 0评论

1、安装python所需的库。

pip install grpcio
pip install grpcio-tools  
pip install protobuf

2、定义gRPC接口。

syntax = "proto3";
option cc_generic_services = true;
//定义服务接口
service GrpcService {
    rpc hello (HelloRequest) returns (HelloResponse) {}  //一个服务中可以定义多个接口,也就是多个函数功能
}
//请求的参数
message HelloRequest {
    string data = 1;   //数字1,2是参数的位置顺序,并不是对参数赋值
    Skill skill = 2;  //支持自定义的数据格式,非常灵活
};
//返回的对象
message HelloResponse {
    string result = 1;
    map<string, int32> map_result = 2; //支持map数据格式,类似dict
};
message Skill {
    string name = 1;
};

3、用protoc和插件编译生成语言代码。

python -m grpc_tools.protoc -I ./ --python_out=./ --grpc_python_out=. ./hello.proto

使用编译工具将proto文件转换成py文件,直接在当前文件目录下运行上述代码。

4、编写grpc服务器代码。

#! /usr/bin/env python
# coding=utf8
import time
from concurrent import futures
import grpc
from gRPC_example import hello_pb2_grpc, hello_pb2
_ONE_DAY_IN_SECONDS = 60 * 60 * 24
class TestService(hello_pb2_grpc.GrpcServiceServicer):
    '''
    继承GrpcServiceServicer,实现hello方法
    '''
    def __init__(self):
        pass
    def hello(self, request, context):
        '''
        具体实现hello的方法,并按照pb的返回对象构造HelloResponse返回
        :param request:
        :param context:
        :return:
        '''
        result = request.data + request.skill.name + " this is gprc test service"
        list_result = {"12": 1232}
        return hello_pb2.HelloResponse(result=str(result),
                                       map_result=list_result)
def run():
    '''
    模拟服务启动
    :return:
    '''
    server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
    hello_pb2_grpc.add_GrpcServiceServicer_to_server(TestService(),server)
    server.add_insecure_port('[::]:50052')
    server.start()
    print("start service...")
    try:
        while True:
            time.sleep(_ONE_DAY_IN_SECONDS)
    except KeyboardInterrupt:
        server.stop(0)
if __name__ == '__main__':
    run()

5、编写gRPC客户端代码。

#! /usr/bin/env python
# coding=utf8
import grpc
from gRPC_example import #! /usr/bin/env python
# coding=utf8
import grpc
from gRPC_example import hello_pb2_grpc, hello_pb2
def run():
    '''
    模拟请求服务方法信息
    :return:
    '''
    conn=grpc.insecure_channel('localhost:50052')
    client = hello_pb2_grpc.GrpcServiceStub(channel=conn)
    skill = hello_pb2.Skill(name="engineer")
    request = hello_pb2.HelloRequest(data="xiao gang", skill=skill)
    respnse = client.hello(request)
    print("received:",respnse.result)
if __name__ == '__main__':
    run()
def run():
    '''
    模拟请求服务方法信息
    :return:
    '''
    conn=grpc.insecure_channel('localhost:50052')
    client = hello_pb2_grpc.GrpcServiceStub(channel=conn)
    skill = hello_pb2.Skill(name="engineer")
    request = hello_pb2.HelloRequest(data="xiao gang", skill=skill)
    response = client.hello(request)
    print("received:",response.result)
if __name__ == '__main__':
    run()

6、调用测试。

首先启动运行服务器的代码,然后启动运行客户端的代码。

以上就是Python搭建gRPC服务的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

徐婷被房东揉到高潮的视频| OMOANI| 老公不在小叔子当老公| 三叶草M码与欧洲码的区别| 意大利人妻伦换| 续父开续女包小芳有没有出版?| 人间水蜜桃MAC923| 韩浸在线阅读浸画画免费读漫画下..| 女性左腿又开腿肚子中间疼视频| 女性左腿又开腿肚子中间疼视频| 美国的忌讳-5| 《疯狂72小时》韩剧| 《共享弟夫》动漫在线观看免费 | 无风险9.1免费版观看| 久久久无码AV精品夜夜挺价格| 他的大手在秘密花园小说免费阅读| 一个添B一个添3个人添| 医生一直揉白带湿漉漉的正常吗| 中美芬太尼事件背景| 亲密时男人最想听女人说什么 | 厨房春潮她含她的乳第一章| 禁忌4大结局| 性做爰A片春欲| 舌头伸进去添的我爽高潮| 美国伦理小樱桃1| 《漾出OVER FLOWER》| 免费观看已满十八岁电视剧高清版| 炮姐BGM高清| 黏糊糊的你12集免费观看| 姜维| 久久午夜国产精品WWW| 兽父1到16集一口气看完| 怎么用一支笔把自己弄出粘液| 老公装醉看我和别人在一起| 潮湿的体温2| 日韩精品一区二区三区| 麻豆传媒| 大肉蟒撑开稚嫩紧窄| 在浴室和男朋友站着做好爽| 麦子交换2免费完整版| 百度网址