django与grpc融合的过程
一、通过socket将grpc接收的数据传输到django中
# django+grpc+socket(服务端给客户端发送文件) 配置过程# 将socket的服务端作为一个线程,放在grpc服务端下,一起启动# 将socket的客户端作为一个模块,直接嵌入在websocket的while True循环之下接收数据并传输到页面端
二、直接融合
django+grpc配置过程# 首先利用data.proto生成两个文件,放在python安装目录包下(即Lib--》site-packet下)# 将grpc的服务端作为一个线程,方法websocket下。如下:
# class ServerGreeter(data_pb2_grpc.dataServicer): # def serving(self, request, context): # print('serving...',datetime.datetime.fromtimestamp(time.time())) # # logging.info('serving...') # data_64 = base64.b64decode(request.cmd) # data_str=data_64.decode() # q.put(data_str) # return data_pb2.data_reply(values="ok") # # def grpc_connect(): # server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) # # 在服务器中添加派生的接口服务(自己实现了处理函数) # data_pb2_grpc.add_dataServicer_to_server(ServerGreeter(), server) # # 添加监听端口 # myname = socket.gethostname() # myip = socket.gethostbyname(myname) # server.add_insecure_port('127.0.0.1' + ':' + '9001') # print('myip:', myip) # # 存储数据线程 # # t = threading.Thread(target=data_manage, args=()) # # t.start() # # # 发送数据给web前端线程 # # t1 = threading.Thread(target=send_data, args=()) # # t1.start() # server.start() # try: # while True: # time.sleep(60 * 60 * 24) # except KeyboardInterrupt: # server.stop(0) # @accept_websocket # def echo(request): # if not request.is_websocket():#判断是不是websocket连接 # try:#如果是普通的http方法 # message = request.GET['message'] # return HttpResponse(message) # except: # return render(request,'index.html') # else: # for message in request.websocket: # t = threading.Thread(target=grpc_connect, args=()) # t.start()
调试经验:
# 一般不关闭socket # 遇到异常不处理可用pass # 定位到While True:进行调试 # 启动客户端,调试服务端 # 启动服务端,调试客户端
django与grpc融合的过程相关推荐
- Python基于Django的毕业设计论文提交过程管理系统
项目介绍 在各学校的教学过程中,django过程管理系统是一项非常重要的事情.随着计算机多媒体技术的发展和网络的普及.采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目 ...
- 业界信息系统集成的三个主流模式:单点登录、数据融合、过程协同
1. 单点登录 产生背景:因为一个企业的IT系统往往不止一个,类似有OA.ERP.CRM.RDM,一个员工可能需要同时使用ERP.RDM.OA,往往需要在多个系统之间进行切换,如果每次切换都需要重新输 ...
- 架构师之路 — 分布式系统 — gRPC 谷歌远程过程调用
目录 文章目录 目录 gRPC gRPC 的调用架构 gRPC 的分层架构 gRPC 的应用场景 gRPC vs. REST gRPC gRPC(Google Remote Procedure Cal ...
- Python+Django+Nginx+Uwsgi 详细部署过程(爬坑过程,可以了解各个软件的执行流程,看过)
这个部署,我真的是爬了好久的坑,才爬出来,所以给大家分享一下,避免入坑. 首先我们先了解一下相关知识: wsgi: 一种实现python解析的通用接口标准/协议,是一种通用的接口标准或者接口协议, ...
- springcloud框架下采用Grpc实现远程过程调用
一.RPC 简介 参考:http://itindex.net/detail/52530-rpc-%E6%A1%86%E6%9E%B6-%E5%88%86%E6%9E%90 简介: RPC(Remote ...
- django中序列化、反序列化过程
一.定义序列化器 a.如果需要使用DRF框架来实现序列化.反序列化.数据库操作,在子应用中创建serializers.py文件 b.文件名推荐命名为serializers.py 在serializer ...
- gRPC运行过程与流量控制机制
文章目录 gRPC运行过程与流量控制 gRPC中的流量控制 讲解思路 BDP采样流量控制 结构分析 过程分析 Connection Level 流量控制 结构分析 过程分析 Stream level流 ...
- Django项目日志概述
Django项目日志概述 本文环境python3.5.2,Django版本1.10.2 Django项目中日志的实现 Django项目中使用的日志,使用了Python标准库中的logging模块进行实 ...
- web框架总结(django、flask)
1.MVC解读 M:Model,模型,和数据库进行交互 V:View,视图,负责产生Html页面 C:Controller,控制器,接收请求,进行处理,与M和V进行交互,返回应答. 1.用户点击注 2 ...
最新文章
- DVWA系列之1 环境搭建
- ISC2015听会小计
- 大厂首发!尚硅谷docker高级
- Python中文分词--jieba的基本使用
- 中国超导产业投资风险及应用前景调研报告2021版
- 【Tools】C/C++开发SDK下载汇总
- java常用代码总结
- 【连载】如何掌握openGauss数据库核心技术?秘诀五:拿捏数据库安全(2)
- 程序员50题(JS版本)(二)
- Java 集合系列 16 HashSet
- jetpack-livedata2-SafeIterableMap
- 未知账户(S-1-5-21)无法删除的问题
- 现代程序设计 作业1
- 3gpp协议服务器,NR-3GPP协议清单汇总
- SAP 批导程序导入Excel后,Excel自动打开
- exe反编译为py文件
- TVS 瞬态抑制二极管指南
- 计讯物联山海步道安全管理与运维解决方案
- 用Python画圣诞树
- krpano场景拖动时拖动惯性消失的问题
热门文章
- DB2连接不上mysql数据库_一次DB2数据库连接失败(SQLSTATE=08001)的解决方法
- android js 代码混淆工具,好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版
- jekenis父子结构项目打包_全栈之DevOps系列 - 发布 Python 项目 开源/私有 包
- 易语言mysql验证_易语言MySql注册登录
- idea数据库反向生成实体类_asp.net core 系列 21 EF现有数据库进行反向工程
- angular html页面嵌套,使用AngularJS来实现HTML页面嵌套的方法
- 算法竞赛入门经典 第七章 总结
- ftp服务器收集文件,ftp服务器收集文件
- c向文件中插入数据_如何把数据写入顺序文件中,VBA代码中Write#语句的利用
- 基础练习 Sine之舞 (递推)