日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

python golang中grpc 使用示例代碼詳解

瀏覽:27日期:2022-07-23 11:41:04

python

1、使用前準備,安裝這三個庫

pip install grpciopip install protobufpip install grpcio_tools

2、建立一個proto文件hello.proto

// [python quickstart](https://grpc.io/docs/quickstart/python.html#run-a-grpc-application)// python -m grpc_tools.protoc --python_out=. --grpc_python_out=. -I. hello.proto// helloworld.protosyntax = 'proto3';package test;service Greeter { rpc SayHello(HelloRequest) returns (HelloReply) {} rpc SayHelloAgain(HelloRequest) returns (HelloReply) {}}service Greetera{ rpc SayStudent(Studentid) returns (Student){}}message Student { string msg=1;//json}message Studentid{ string id=1;}message HelloRequest { string name = 1;}message HelloReply { string message = 1;}

3、執(zhí)行命令就會對應生成兩個py文件

hello_pb2.py

hello_pb2_grpc.py

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

4、py服務端代碼hello.server.py:

from concurrent import futuresimport timeimport grpcimport hello_pb2import hello_pb2_grpcimport json# 實現(xiàn) proto 文件中定義的 GreeterServicerclass Greeter(hello_pb2_grpc.GreeterServicer): # 實現(xiàn) proto 文件中定義的 rpc 調用 def SayHello(self, request, context): return hello_pb2.HelloReply(message = ’hello {msg}’.format(msg = request.name)) def SayHelloAgain(self, request, context): return hello_pb2.HelloReply(message=’hello {msg}’.format(msg = request.name))class Gretera(hello_pb2_grpc.GreeteraServicer): def SayStudent(self,request,context): print(request.id) if request.id=='0': c=hello_pb2.Student(msg=json.dumps({'name':'owen','age':22,'sex':'男'})) else: c=hello_pb2.Student(msg=json.dumps({'name':'lihui','age':23,'sex':'女'})) return cdef serve(): # 啟動 rpc 服務 server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) hello_pb2_grpc.add_GreeterServicer_to_server(Greeter(), server) hello_pb2_grpc.add_GreeteraServicer_to_server(Gretera(),server) server.add_insecure_port(’[::]:50052’) server.start() try: while True: time.sleep(60*60*24) # one day in seconds except KeyboardInterrupt: server.stop(0)if __name__ == ’__main__’: serve()

py客戶端代碼hello.client.py:

import grpcimport hello_pb2import hello_pb2_grpcimport jsondef run(): # 連接 rpc 服務器 channel = grpc.insecure_channel(’localhost:50051’) # 調用 rpc 服務 stub = hello_pb2_grpc.GreeterStub(channel) response = stub.SayHello(hello_pb2.HelloRequest(name=’czl’)) print('Greeter client received: ' + response.message) response = stub.SayHelloAgain(hello_pb2.HelloRequest(name=’nsdnfkjda’)) print('Greeter client received: ' + response.message) stub1 = hello_pb2_grpc.GreeteraStub(channel) response1 = stub1.SayStudent(hello_pb2.Studentid(id=’1’)) print(json.loads(response1.msg))if __name__ == ’__main__’: run()

golang

由于grpc是跨語言的所以這里用golang做為示范,golang客戶端代碼,小編這里也踩了許多坑,最主要的是兩個proto文件一定要一致,golang 中使用必須安裝protoc,windows將環(huán)境變量指向安裝目錄的bin下面:

1、protocal buffer安裝

從 https://github.com/google/protobuf/releases 下載 對應自己的系統(tǒng)(環(huán)境變量記得改)

2、安裝 golang protobuf

go get -u github.com/golang/protobuf/proto // golang protobuf 庫go get -u github.com/golang/protobuf/protoc-gen-go //protoc --go_out 工具

3、安裝 gRPC-go

go get google.golang.org/grpc

4、生成go文件

protoc --go_out=plugins=grpc:文件目錄 對應的.proto文件protoc --go_out=plugins=grpc:. hello.proto

生成hello.pb.go,調用的實現(xiàn)hello_go_client.go:

package mainimport ( 'context' 'encoding/json' 'google.golang.org/grpc' 'log' 'student/test' //對應的生成文件目錄)type Studenmsg struct { Name string Age int Sex string}func main() { // 建立連接到gRPC服務 conn, err := grpc.Dial('127.0.0.1:50052', grpc.WithInsecure()) if err != nil { log.Fatalf('did not connect: %v', err) } // 函數(shù)結束時關閉連接 defer conn.Close() // 創(chuàng)建Waiter服務的客戶端 t := test.NewGreeteraClient(conn) tr,err:=t.SayStudent(context.Background(),&test.Studentid{Id:'1'}) if err != nil { log.Fatalf('could not greet: %v', err) } var st Studenmsg err=json.Unmarshal([]byte(tr.Msg),&st)//這里說明一下發(fā)過來的數(shù)據(jù)是json格式轉化成struct if err!=nil{ log.Println(err.Error()) } log.Println(st.Name,st.Age,st.Sex)}

總結

到此這篇關于python golang中grpc 使用示例代碼詳解的文章就介紹到這了,更多相關python golang grpc 使用內容請搜索好吧啦網以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本在线观看不卡视频| 欧美精品导航| 综合视频一区| 国产精品日韩| 91成人精品视频| 久久久精品午夜少妇| 国产成人精品一区二区三区视频| 国产色噜噜噜91在线精品| 欧美亚洲福利| 91精品尤物| 另类欧美日韩国产在线| 国精品产品一区| 麻豆精品在线| 亚洲黄色免费av| 伊人久久亚洲热| 亚洲精选成人| 国产精品中文字幕亚洲欧美| 久久69成人| 欧美精品黄色| 97久久超碰| 国产不卡人人| 六月婷婷一区| 久久久久久久久成人| 亚洲激情中文| 麻豆精品99| 免费中文字幕日韩欧美| 国产精品多人| 亚洲精品国产嫩草在线观看 | 久久久久亚洲精品中文字幕| 黄色在线网站噜噜噜| 国产一区清纯| 日韩国产91| 精品三级在线| 免费精品国产的网站免费观看| 亚洲免费观看| 欧美国产免费| 久久中文亚洲字幕| 亚洲精品免费观看| 日韩成人av影视| 美腿丝袜亚洲一区| 中文字幕一区二区av| 国产精品色婷婷在线观看| 精品女同一区二区三区在线观看| 桃色av一区二区| 日本欧美在线看| av资源中文在线天堂| 国产视频一区三区| 国产精品久久久久毛片大屁完整版| 日韩av在线播放网址| 亚洲涩涩av| 日韩中文在线电影| 日韩影院精彩在线| 亚洲欧美日韩视频二区| 国产精品久av福利在线观看| 亚洲女同一区| 精品欠久久久中文字幕加勒比| 中文字幕亚洲精品乱码| 成人欧美一区二区三区的电影| 婷婷成人av| 午夜在线精品| 狠狠操综合网| 日韩黄色大片网站| 国产精品视频一区二区三区综合 | 激情五月综合| 九九九精品视频| 日韩精品1区2区3区| 欧美日韩少妇| 国产一区二区三区四区大秀 | 伊人久久高清| 福利一区和二区| 精品国产中文字幕第一页| 日韩精品一页| 日韩一二三区在线观看| 丝袜亚洲另类欧美| 亚洲永久字幕| 亚洲一区不卡| 日韩精品一区第一页| 日韩欧美二区| 欧美日韩一二三四| 免费观看久久av| 亚洲高清二区| 日韩专区一卡二卡| 日本在线观看不卡视频| 久久成人av| 久久一区国产| 999国产精品视频| 亚洲中字黄色| 亚洲综合婷婷| 日本一二区不卡| 六月天综合网| 国产成人精品999在线观看| 天堂av在线一区| 欧美 日韩 国产精品免费观看| 日韩高清不卡一区二区| 久久精品国产大片免费观看| 日韩中文字幕一区二区三区| 老司机精品在线| 日韩有吗在线观看| 黄色亚洲精品| 日韩精品首页| 久久精品五月| 国产日韩1区| 蜜臀精品一区二区三区在线观看 | 久久久一二三| 久久99伊人| 国产另类在线| 激情五月色综合国产精品| 四虎在线精品| 另类专区亚洲| 国产精品婷婷| 久久精品国产68国产精品亚洲| 日韩免费精品| 黄色不卡一区| 精品少妇一区| 亚洲我射av| 日韩欧美在线中字| 日本色综合中文字幕| 伊人久久亚洲影院| 9999国产精品| 石原莉奈在线亚洲三区| 美女精品一区| 99久久精品国产亚洲精品| 国产欧美高清| 亚洲ab电影| 久久国产影院| 国产高潮在线| 国内精品美女在线观看| 欧美日韩一区二区国产| 激情久久久久久| 亚洲精品一区二区妖精| 日韩欧美不卡| 久久久五月天| av高清不卡| 日韩综合一区| 欧美视频二区| 久久精品999| 欧美亚洲综合视频| 久久国产欧美| 成人精品亚洲| 欧美日韩国产观看视频| 日韩av有码| 国产精品字幕| 午夜国产一区二区| 亚洲免费影院| 亚洲精品看片| 国产精品嫩模av在线| 久久久久99| 国产精品毛片在线看| 国产亚洲毛片| 久久国产精品久久w女人spa| 综合一区在线| 国产一区二区三区探花| 啪啪国产精品| 免费成人在线视频观看| 久久精品五月| 美女少妇全过程你懂的久久| 国产亚洲福利| 欧美亚洲tv| 激情欧美丁香| 蜜臀久久99精品久久久画质超高清| 日韩1区2区3区| 国产不卡精品在线| 国产精品一区二区中文字幕| 午夜久久免费观看| 喷白浆一区二区| 国产黄色精品| 狠狠爱www人成狠狠爱综合网| 欧美私人啪啪vps| 成人日韩在线观看| 亚洲人成在线影院| 欧美片第1页| 精品中文字幕一区二区三区四区| 欧美99久久| 欧美国产另类| 石原莉奈一区二区三区在线观看| 国内自拍视频一区二区三区| 综合一区二区三区| 日韩不卡在线| 久久不见久久见国语| 亚洲午夜在线| 国产一区不卡| 精品一区二区三区免费看| 亚洲三区欧美一区国产二区| 日韩免费久久| 色婷婷色综合| 国产资源在线观看入口av| 中文字幕亚洲影视| 欧美精品一卡| 成人日韩在线| 国产suv精品一区| 国产劲爆久久| 国产精品久久久久av蜜臀| 久久亚洲精精品中文字幕| 亚洲精品激情| 久久精品国产99久久| 中文字幕在线视频网站| 久久av影视| 欧美激情麻豆| 久久精品国产在热久久| 精品欧美日韩精品|