flask流式输出-SSE服务

一、定义

  1. flask demo
  2. 前端遇到的问题

二、实现

  1. flask demo
from gevent import monkey
monkey.patch_all()         #并行
import time
from flask import Response, stream_with_context
from flask import Flask
from gevent.pywsgi import WSGIServer
from flask import request
app=Flask(__name__)
from flask_cors import CORS
CORS(app)            #解决跨域问题def predict():chatbot=[""]mid='''一、引言\n1. 背景介绍\n2. 研究意义\n\n二、多旋翼无人机概述\n1. 多旋翼无人机的定义\n2. 多旋翼无人机的特点\n3. 多旋翼无人机的基本结构\n\n三、多旋翼无人机控制方法\n1. 手动控制\n2. 遥控控制\n3. 自主控制\n\n四、多旋翼无人机调度方法\n1. 手动调度\n2. 遥控调度\n3. 自主调度\n\n五、多旋翼无人机应用实例\n1. 农业领域\n2. 航拍领域\n3. 搜索救援\n4. 其他应用领域\n\n六、多旋翼无人机的安全问题\n1. 飞行安全隐患\n2. 数据隐私问题\n3. 人机交互问题\n\n七、结论\n1. 研究总结\n2. 研究局限\n3. 研究展望'''s=""for response in mid:s+=responseyield [s], []import json@app.route('/stream',methods=["GET","POST"])
def stream():kwargs = request.get_data(as_text=True)@stream_with_contextdef generate():data_stream = predict()for data in data_stream:print(data)time.sleep(0.1)yield str("data:") + str(data) + "\n\n"       #必须保证 前面是“data:”      后面是“\n\n”headers = {'Content-Type': 'text/event-stream','Cache-Control': 'no-cache','X-Accel-Buffering': 'no',"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET,POST","Access-Control-Allow-Headers":"x-requested-with,content-type"}return Response(generate(),mimetype="text/event-stream",headers=headers)    #类型event-stream
if __name__ == '__main__':http_server = WSGIServer(('0.0.0.0', int(8081)), app)http_server.serve_forever()

测试:

from sseclient import SSEClient
messages = SSEClient('http://127.0.0.1:8081/stream')
for msg in messages:print(msg.event,"data")print([msg.data])
  1. 前端遇到的问题
    前端一直接受不到消息,原因:存在跨域。解决:前端做一个代理,即可打通。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/707113.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【JS】数值精度缺失问题解决方案

方法一: 保留字符串类型,传给后端 方法二: 如果涉及到计算,用以下方法 // 核心思想 在计算前,将数字乘以相同倍数,让他没有小数位,然后再进行计算,然后再除以相同的倍数&#xff0…

FPS游戏之漫谈低内存性能优化

我想各位专门优化公司项目的一定会定位分析出来很多模块明明已经退出了 比如宝箱模块,明明已经离开当前界面,还有很多未常驻内存的资源占用了内存, 那我们遇到低端机器很容易出现闪退,反应速度慢等问题,那么我们一般在…

parent Project“com.xxx“ not foud 问题

version 飘红,直接清理缓存(Invalidate Caches..)解决。

51单片机晶振频率与定时中断产生pwn占空比

单片机中晶振频率为12MHZ的机器周期怎么算? 1、系统晶振频率是12M,则机器周期=12/12=1us; 2、定时1ms=1*1000=1000us; 3、工作在方式0下:最大计数值是2&a…

高防IP简介

高防IP可以防御的有包括但不限于以下类型: SYN Flood、UDP Flood、ICMP Flood、IGMP Flood、ACK Flood、Ping Sweep 等攻击。高防IP专注于解决云外业务遭受大流量DDoS攻击的防护服务。支持网站和非网站类业务的DDoS、CC防护,用户通过配置转发规则&#x…

Java之美[从菜鸟到高手演变]之GUI编程(一) 认识Java GUI编程

转眼间一年过去了,自从去年毕业以后博客就没怎么更新过了,一来是因为工作忙没有太多的时间去写,二来可能自己变得比较懒惰,所以就放下了。最近突然想继续整理下Java方面的东西,所以就接着写了。为什么选择Java GUI编程…

php docx,pptx,excel表格上传阿里云,腾讯云存储后截取第一页生成缩略图

php把word转图片的方法:首先给服务器安装libreoffice;然后使用exec函数来调用命令行操作;最后通过“exec(“soffice --headless --invisible…””方法把word转图片即可。 服务器环境:centos7 *集成环境:宝塔 我们开始给服务器安装libreoffice 直接执行下面的代码就可以…

FL Studio 21.2.3.3586 for Mac中文版新功能介绍及2024年最新更新日志

如果你正计划学习音乐制作,一款强大且易学的音乐制作软件是必不可少的。由于很多小伙伴对音乐制作软件没有实际体验过,到底选择哪一款软件最合适成为当下最纠结的问题。 这里为大家推荐一款功能强大且适合新手小伙伴的音乐编曲软件—FL Studio 21.2.3.35…

nginx 模块 高级配置

目录 一、高级配置 1.1. 网页的状态页 1.2.Nginx 第三方模块 ehco 模块 打印 1.3.变量 1.3.1 内置变量 1.3.2自定义变量 1.4.Nginx压缩功能 1.5.https 功能 1.6.自定义图标 一、高级配置 1.1. 网页的状态页 基于nginx 模块 ngx_http_stub_status_module 实现&…

The authenticity of host ‘github.com (20.205.243.166)‘ can‘t be established.

1、运行git clone报错: The authenticity of host github.com (20.205.243.166) cant be established. ECDSA key fingerprint is SHA256:p2QAC1TJYererOttrVc98/R1BWERWu3/LiyFdHfQM. Are you sure you want to continue connecting (yes/no/[fingerprint])? 这个…

【盲源分离】快速理解FastICA算法(附MATLAB绘图程序)

今天讲一个在信号分析领域较为常用的一个方法,即盲源分离算法中的FastICA。 我们先从一个经典的问题引入。 一、鸡尾酒舞会问题 想象一下,你身处一个熙熙攘攘的鸡尾酒舞会中。四周回荡着各种声音:笑声、交谈声、玻璃碰撞声,甚至…

物联网常见协议之MQTT 详解

一、简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议,该协议构建于TCP/IP协议上&#xff0c…

基于PostgreSql操作空间数据Geometry类型

一、简介 空间数据是指用来表示空间实体的位置、形状、大小及其分布特征诸多方面信息的数据,它可以用来描述来自现实世界的目标,它具有定位、定性、时间和空间关系等特性,操作空间数据主要是指对点、线、面等基本结构的一个操作。 在Postgre…

javaEE图书馆自习室订座系统信用springmvc+springboot+mybatis

研究的内容是设计和实现图书馆自习室系统,便捷广大师生对自习室的使用,协助图书馆自习室管理。在设计过程中,系统的用户角色和权限分配如下: (1)馆长 用户管理:拥有自习室管理员、普通用户的所有…

如何准确获取PDF文件中的标题

想要在PDF文件中,解析获取全部的标题,是一件比较麻烦的事情。正是因为PDF文件中的内容可能是五花八门的格式(论文、财报、法律条文、图书、报纸、等等)。 但是获取标题信息,又是一件非常重要的事情。标题中往往蕴含着非…

优雅使用前端枚举Enum,符合国标的那种!

01、什么是枚举Enum? 枚举Enum是在多种语言中都有的一种数据类型,用于表示一组特定相关的常量数据集合,如性别(男、女)、数据状态(可用、禁用)、垂直对齐(顶端、居中、底部&#xff…

AD9226 65M采样 模数转换

目录 AD9220_ReadTEST AD9220_ReadModule AD9226_TEST_tb 自己再写个 260M的时钟,四分频来提供65M的时钟。 用 vivado 写的 AD9226_ReadTEST module AD9226_ReadTEST( input clk, input rstn,output clk_driver, //模块时钟管脚 input [12:0]IO_data, //模块数…

golang 函数式编程库samber/mo使用: Future

golang 函数式编程库samber/mo使用: Future 如果您对samber/mo库不了解, 请先阅读第一篇 Option 本节讲述Future的使用,它可以帮助我们处理异步编程问题。 示例 我们先来看看下面代码的示例, 注释解释了每一步的操作。 packa…

深度学习 精选笔记(5)多层感知机

学习参考: 动手学深度学习2.0Deep-Learning-with-TensorFlow-bookpytorchlightning ①如有冒犯、请联系侵删。 ②已写完的笔记文章会不定时一直修订修改(删、改、增),以达到集多方教程的精华于一文的目的。 ③非常推荐上面(学习参考&#x…

spring自定义事件监听器

1. 创建自定义事件 import org.springframework.context.ApplicationEvent; import java.util.List;public class CollectionCreateEvent extends ApplicationEvent {private List<String> fileList;public CollectionCreateEvent(Object source,List<String> file…