日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

grpc服务器和客户端互传数据

發布時間:2025/3/15 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 grpc服务器和客户端互传数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、客戶端給服務器傳數據

1、data.proto

syntax = 'proto3'; // 服務定義 service data{// 函數定義 data_request參數 data_reply返回數據rpc serving(data_request) returns (data_reply) {} } message data_request{string cmd= 1; } message data_reply{string values = 1; }

?2、data_client.py

import data_pb2 import data_pb2_grpc import grpc import base64 import time def run():# 監聽頻道channel = grpc.insecure_channel('127.0.0.1:8080')# 客戶端使用Stub類發送請求, 參數為頻道, 為了綁定鏈接stub = data_pb2_grpc.dataStub(channel)while True:# 返回的結果就是proto中定義的類f = open("data.json", 'rb')img_64 = base64.b64encode(f.read())f.close()response = stub.serving(data_pb2.data_request(cmd=img_64))print(response)value = response.valuesprint(value)time.sleep(10) if __name__ == '__main__':run()

3、data_server.py

?

import data_pb2 import data_pb2_grpc import grpc from concurrent import futures import time import base64 class ServerGreeter(data_pb2_grpc.dataServicer):# 重寫接口函數.輸入和輸出都是proto中定義的Data類型def serving(self, request):img_64 = base64.b64decode(request.cmd)if img_64:f = open('datacopy.json', 'wb')f.write(img_64)f.close()return data_pb2.data_reply(values="ok") def serve():# 定義服務器并設置最大連接數,corcurrent.futures是一個并發庫,類似于線程池的概念# 創建一個服務器server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))# 在服務器中添加派生的接口服務(自己實現了處理函數)a=data_pb2_grpc.add_dataServicer_to_server(ServerGreeter(), server)# 添加監聽端口server.add_insecure_port('127.0.0.1:8080')#啟動服務server.start()try:while True:time.sleep(1)except KeyboardInterrupt:server.stop(0) if __name__ == '__main__':serve()

?二、服務端給客戶端傳數據

1、data.proto

syntax = 'proto3'; // 服務定義 service data{// 函數定義 data_request參數 data_reply返回數據rpc serving(data_request) returns (data_reply) {} } message data_request{string cmd= 1; } message data_reply{string values = 1; }

2、client.py

import data_pb2 import data_pb2_grpc import grpc import base64 _HOST='localhost' _PORT='8080' def run():channel = grpc.insecure_channel(_HOST+':'+_PORT)stub = data_pb2_grpc.dataStub(channel)response = stub.serving(data_pb2.data_request())imgf = base64.b64decode(response.values)f = open('./b.jpg', 'wb')f.write(imgf)f.close() if __name__ == '__main__':run()

?

3、server.py

?

import data_pb2 import data_pb2_grpc import grpc from concurrent import futures import time import base64 _HOST='localhost' _PORT='8080' class ServerGreeter(data_pb2_grpc.dataServicer):def serving(self, request, context):print('serving:', request.cmd)f = open('./a.jpg', 'rb')img_64 = base64.b64encode(f.read())f.close()return data_pb2.data_reply(values=img_64) def serve():server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))data_pb2_grpc.add_dataServicer_to_server(ServerGreeter(), server)server.add_insecure_port(_HOST+':'+_PORT)server.start()try:while True:time.sleep(60 * 60 * 24)except KeyboardInterrupt:server.stop(0)if __name__ == '__main__':serve()

若是服務器往客戶端發送消息,就利用在服務器中重寫類的方法的return中。形式為data.proto中的data_reply中定義的value=XXX。如data_pb2.data_reply(values=img_64)

若是服務器接收客戶端發送的消息,就利用在服務器中重寫類的方法中的參數request。形式為data.proto中的data_request中定義的cmd。如img_64 = base64.b64decode(request.cmd)

若是客戶端給服務器發送消息,就利用stub存根的方法此時需要使用data_request中定義的cmd,如response = stub.serving(data_pb2.data_request(cmd=img_64))

若是客戶端接收服務器發送過來的消息,就直接利用stub存根的方法。response = stub.serving(data_pb2.data_request())

總結

以上是生活随笔為你收集整理的grpc服务器和客户端互传数据的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性欧美video另类hd尤物 | 真实的中国女人做爰 | 欧美日日骚 | 天天干天天干天天 | 99在线播放 | 少妇被粗大猛进进出出s小说 | 免费看操片 | 影音先锋国产资源 | 欧美日韩不卡合集视频 | 韩国三级免费 | 97免费看 | 国产一区二区三区电影在线观看 | 成人影 | 热の国产| 一区二区网 | 欧美性视频一区二区 | 爱爱亚洲| 少妇高潮一区二区三区69 | 久久无码精品丰满人妻 | 日本黄色生活片 | 久久99久久99 | 五月天中文字幕在线 | 91午夜精品亚洲一区二区三区 | 日韩第四页| 黄色小网站入口 | 91丝袜| 538任你躁在线精品免费 | 成人av高清在线观看 | 蜜桃传媒| 羞羞影院体验区 | 少妇人妻偷人精品无码视频 | 一本色道久久综合熟妇 | 美日韩一二三区 | 在线中文字幕一区 | av在线a | 夜夜爱夜夜操 | 青青草视频免费 | 精品一区二区三区入口 | 中文区中文字幕免费看 | 成人免费三级 | 最新日韩一区 | 午夜精品久久久久久久99黑人 | 91插插插插插插插 | 久草网站 | 日韩视频一区二区三区 | 国产一区二区在线观看免费 | 亚洲欧美另类综合 | 国产亚洲视频一区 | 少妇久久久久久久 | 成人无高清96免费 | 日本热久久| 在线观看三级网站 | 亚洲一区二区综合 | 校霸被c到爽夹震蛋上课高潮 | 伊人一级片 | 99久久99久久精品国产片果冻 | 日韩av激情 | 亚瑟av在线| 亚洲av无码专区国产乱码不卡 | 中国老头性行为xxxx | 欧美色88| 国产第一色 | 日韩国产欧美在线视频 | 日韩精品无码一区二区 | 熟女人妻一区二区三区免费看 | 极品美女销魂一区二区三区 | 加勒比在线一区 | 加勒比视频在线观看 | 欧美在线播放 | 亚洲精品免费观看 | 黄色在线视频网址 | 美女啪啪无遮挡 | 人妻少妇精品无码专区二区 | 性生交大片免费看视频 | 国产午夜精品一区二区三区欧美 | 快色网站 | av不卡免费 | 综合久久国产 | 韩国一区二区三区在线观看 | 日韩激情在线 | 伊人久久久久久久久久 | 麻豆视频免费 | 美丽姑娘免费观看在线观看 | 亚洲精品99久久久久中文字幕 | 日本大尺度吃奶做爰久久久绯色 | 欧美日韩一二三 | 国产三级91| 狠狠插综合 | 日韩中文欧美 | 国产精品国产三级国产三级人妇 | 国产aaaaaaa| 91婷婷色| 肉色超薄丝袜脚交一区二区图片 | 香蕉久久视频 | 国产午夜精品无码一区二区 | 黄色激情毛片 | 国产精品黄色 | 清冷学长被爆c躁到高潮失禁 | 日本最黄网站 |