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

您的位置:首頁技術(shù)文章
文章詳情頁

python golang中g(shù)rpc 使用示例代碼詳解

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

python

1、使用前準(zhǔn)備,安裝這三個(gè)庫

pip install grpciopip install protobufpip install grpcio_tools

2、建立一個(gè)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í)行命令就會(huì)對應(yīng)生成兩個(gè)py文件

hello_pb2.py

hello_pb2_grpc.py

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

4、py服務(wù)端代碼hello.server.py:

from concurrent import futuresimport timeimport grpcimport hello_pb2import hello_pb2_grpcimport json# 實(shí)現(xiàn) proto 文件中定義的 GreeterServicerclass Greeter(hello_pb2_grpc.GreeterServicer): # 實(shí)現(xiàn) proto 文件中定義的 rpc 調(diào)用 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(): # 啟動(dòng) rpc 服務(wù) 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 服務(wù)器 channel = grpc.insecure_channel(’localhost:50051’) # 調(diào)用 rpc 服務(wù) 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客戶端代碼,小編這里也踩了許多坑,最主要的是兩個(gè)proto文件一定要一致,golang 中使用必須安裝protoc,windows將環(huán)境變量指向安裝目錄的bin下面:

1、protocal buffer安裝

從 https://github.com/google/protobuf/releases 下載 對應(yīng)自己的系統(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:文件目錄 對應(yīng)的.proto文件protoc --go_out=plugins=grpc:. hello.proto

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

package mainimport ( 'context' 'encoding/json' 'google.golang.org/grpc' 'log' 'student/test' //對應(yīng)的生成文件目錄)type Studenmsg struct { Name string Age int Sex string}func main() { // 建立連接到gRPC服務(wù) conn, err := grpc.Dial('127.0.0.1:50052', grpc.WithInsecure()) if err != nil { log.Fatalf('did not connect: %v', err) } // 函數(shù)結(jié)束時(shí)關(guān)閉連接 defer conn.Close() // 創(chuàng)建Waiter服務(wù)的客戶端 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格式轉(zhuǎn)化成struct if err!=nil{ log.Println(err.Error()) } log.Println(st.Name,st.Age,st.Sex)}

總結(jié)

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

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产高清不卡| 在线国产日韩| 免费一区二区视频| 91九色精品国产一区二区| 99成人超碰| 欧美午夜精彩| 日韩精品一区二区三区免费观看| 久久精品卡一| 免费人成网站在线观看欧美高清| 国产日韩中文在线中文字幕| 久久精品午夜| 美女福利一区二区三区| 日韩影院精彩在线| 欧美极品中文字幕| 欧美精品高清| 亚洲+小说+欧美+激情+另类| 日韩高清成人在线| 国产麻豆久久| 亚洲一区黄色| 给我免费播放日韩视频| 夜夜嗨av一区二区三区网站四季av| 亚洲午夜久久久久久尤物| 亚洲国产影院| 精品国产一级| 亚洲欧美在线专区| 日本不卡免费高清视频在线| 在线看片日韩| 97精品一区二区| 亚洲天堂av资源在线观看| 精品日产乱码久久久久久仙踪林| 天堂资源在线亚洲| 免费日韩成人| 亚洲最新av| 国产精品99久久精品| 日本不卡视频在线| 欧美色图国产精品| 亚洲毛片网站| 国产美女高潮在线观看| 亚洲综合中文| 一区二区视频欧美| 成人午夜网址| 久久男人av资源站| 欧美偷窥清纯综合图区| 久久不射中文字幕| 国产自产自拍视频在线观看| 亚洲精品在线二区| 日韩精品欧美| 精品视频黄色| 亚洲一区观看| 91久久中文| 国产精品外国| 精品日韩视频| 久久亚洲道色| 国产美女高潮在线| 精品国产一区二区三区2021| 亚洲尤物在线| 免费日韩av片| 99热免费精品| 日韩高清不卡在线| 美女视频一区在线观看| 奇米狠狠一区二区三区| 日韩av网站在线观看| 国产探花一区| 国产欧美大片| 麻豆中文一区二区| 岛国av在线网站| 国产精品蜜芽在线观看| 久久uomeier| 四虎884aa成人精品最新| 国产一区亚洲| 日韩制服丝袜先锋影音| 免费观看久久久4p| 国产亚洲一卡2卡3卡4卡新区| 日韩在线黄色| 国产精品亚洲产品| 久久91视频| 成人在线网站| 天堂成人免费av电影一区| 国产情侣久久| 欧洲亚洲一区二区三区| 视频在线观看一区二区三区| 中国女人久久久| 欧美日韩xxxx| 欧美日韩中文一区二区| 久久亚洲色图| 美女视频黄免费的久久| 国产精品s色| 欧美日韩在线观看首页| 亚洲伊人精品酒店| 色偷偷偷在线视频播放| 午夜精品影视国产一区在线麻豆| 精品视频一区二区三区在线观看| 亚洲永久字幕| 国产一区精品福利| 美女被久久久| 中文字幕在线高清| 97成人超碰| 亚洲精品护士| 国产精品伦理久久久久久| 蜜桃一区二区三区在线| 国产精区一区二区| 免费观看亚洲天堂| 老牛国产精品一区的观看方式| 欧美一区二区三区久久精品| 亚洲神马久久| 美女少妇全过程你懂的久久| 欧美偷窥清纯综合图区| 最新国产精品| 国产精品日本欧美一区二区三区| 欧美国产另类| 亚洲精品亚洲人成在线观看| 在线中文字幕播放| 日韩在线电影| 激情久久婷婷| 一本一道久久a久久精品蜜桃| 日韩欧美精品综合| 91亚洲国产| 亚洲免费毛片| 911亚洲精品| 玖玖精品视频| 久热精品在线| 精品视频一区二区三区四区五区 | 免费一级欧美在线观看视频| 欧美成人日韩| 欧美日韩尤物久久| 亚洲精品**中文毛片| 九九99久久精品在免费线bt| 巨乳诱惑日韩免费av| 香蕉国产精品| 亚洲福利专区| 久久先锋影音| 免费精品视频在线| 尤物精品在线| 日韩中文字幕无砖| 香蕉久久夜色精品国产| 久久久久国产精品一区二区| 成人免费电影网址| 婷婷色综合网| 蜜桃精品在线| 久久九九精品| 亚洲一区二区三区高清不卡| 婷婷久久一区| 亚洲色图综合| 欧美中文一区| 久久久久蜜桃| 国产精品社区| 日韩综合一区二区| 国产精品大片| 人人香蕉久久| 91精品二区| 久久国产福利| 日本91福利区| 国产极品模特精品一二| 亲子伦视频一区二区三区| 国产一区观看| 久久av偷拍| 亚洲激情中文| 91亚洲精品在看在线观看高清| 久久精品三级| 免费污视频在线一区| 日韩综合一区二区| 老牛国内精品亚洲成av人片| 午夜欧美巨大性欧美巨大| 亚洲精品视频一二三区| 国产精品www.| 欧美日韩精品免费观看视完整| 亚洲精品2区| 国产欧美午夜| 天堂久久av| 欧美日韩国产精品一区二区亚洲| 日韩不卡手机在线v区| 欧美日韩国产传媒| 国产欧美一区二区三区精品观看| 高潮一区二区| 综合一区在线| 亚洲一级网站| 国产成人精品亚洲线观看| 亚洲精品精选| 午夜在线视频一区二区区别| 国产精品精品国产一区二区| 在线一区二区三区视频| 国产精品nxnn| 免费成人性网站| 九九综合在线| www.九色在线| а√天堂中文在线资源8| 免费在线观看日韩欧美| 蜜桃视频欧美| 日韩在线欧美| 国产免费av国片精品草莓男男| 中文一区一区三区免费在线观 | 国产精品亚洲欧美一级在线| 自拍日韩欧美| 精品国产欧美日韩| 国产美女久久| 夜鲁夜鲁夜鲁视频在线播放| 欧美亚洲tv| 亚洲人妖在线| 亚洲欧美日本国产| 国产精品嫩草99av在线|