一、通过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融合的过程相关推荐

  1. Python基于Django的毕业设计论文提交过程管理系统

    项目介绍 在各学校的教学过程中,django过程管理系统是一项非常重要的事情.随着计算机多媒体技术的发展和网络的普及.采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目 ...

  2. 业界信息系统集成的三个主流模式:单点登录、数据融合、过程协同

    1. 单点登录 产生背景:因为一个企业的IT系统往往不止一个,类似有OA.ERP.CRM.RDM,一个员工可能需要同时使用ERP.RDM.OA,往往需要在多个系统之间进行切换,如果每次切换都需要重新输 ...

  3. 架构师之路 — 分布式系统 — gRPC 谷歌远程过程调用

    目录 文章目录 目录 gRPC gRPC 的调用架构 gRPC 的分层架构 gRPC 的应用场景 gRPC vs. REST gRPC gRPC(Google Remote Procedure Cal ...

  4. Python+Django+Nginx+Uwsgi 详细部署过程(爬坑过程,可以了解各个软件的执行流程,看过)

    这个部署,我真的是爬了好久的坑,才爬出来,所以给大家分享一下,避免入坑. 首先我们先了解一下相关知识: wsgi:   一种实现python解析的通用接口标准/协议,是一种通用的接口标准或者接口协议, ...

  5. springcloud框架下采用Grpc实现远程过程调用

    一.RPC 简介 参考:http://itindex.net/detail/52530-rpc-%E6%A1%86%E6%9E%B6-%E5%88%86%E6%9E%90 简介: RPC(Remote ...

  6. django中序列化、反序列化过程

    一.定义序列化器 a.如果需要使用DRF框架来实现序列化.反序列化.数据库操作,在子应用中创建serializers.py文件 b.文件名推荐命名为serializers.py 在serializer ...

  7. gRPC运行过程与流量控制机制

    文章目录 gRPC运行过程与流量控制 gRPC中的流量控制 讲解思路 BDP采样流量控制 结构分析 过程分析 Connection Level 流量控制 结构分析 过程分析 Stream level流 ...

  8. Django项目日志概述

    Django项目日志概述 本文环境python3.5.2,Django版本1.10.2 Django项目中日志的实现 Django项目中使用的日志,使用了Python标准库中的logging模块进行实 ...

  9. web框架总结(django、flask)

    1.MVC解读 M:Model,模型,和数据库进行交互 V:View,视图,负责产生Html页面 C:Controller,控制器,接收请求,进行处理,与M和V进行交互,返回应答. 1.用户点击注 2 ...

最新文章

  1. DVWA系列之1 环境搭建
  2. ISC2015听会小计
  3. 大厂首发!尚硅谷docker高级
  4. Python中文分词--jieba的基本使用
  5. 中国超导产业投资风险及应用前景调研报告2021版
  6. 【Tools】C/C++开发SDK下载汇总
  7. java常用代码总结
  8. 【连载】如何掌握openGauss数据库核心技术?秘诀五:拿捏数据库安全(2)
  9. 程序员50题(JS版本)(二)
  10. Java 集合系列 16 HashSet
  11. jetpack-livedata2-SafeIterableMap
  12. 未知账户(S-1-5-21)无法删除的问题
  13. 现代程序设计 作业1
  14. 3gpp协议服务器,NR-3GPP协议清单汇总
  15. SAP 批导程序导入Excel后,Excel自动打开
  16. exe反编译为py文件
  17. TVS 瞬态抑制二极管指南
  18. 计讯物联山海步道安全管理与运维解决方案
  19. 用Python画圣诞树
  20. krpano场景拖动时拖动惯性消失的问题

热门文章

  1. DB2连接不上mysql数据库_一次DB2数据库连接失败(SQLSTATE=08001)的解决方法
  2. android js 代码混淆工具,好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版
  3. jekenis父子结构项目打包_全栈之DevOps系列 - 发布 Python 项目 开源/私有 包
  4. 易语言mysql验证_易语言MySql注册登录
  5. idea数据库反向生成实体类_asp.net core 系列 21 EF现有数据库进行反向工程
  6. angular html页面嵌套,使用AngularJS来实现HTML页面嵌套的方法
  7. 算法竞赛入门经典 第七章 总结
  8. ftp服务器收集文件,ftp服务器收集文件
  9. c向文件中插入数据_如何把数据写入顺序文件中,VBA代码中Write#语句的利用
  10. 基础练习 Sine之舞 (递推)