简易后端

# 不需要记住 但是要知道是什么模块驱使Flask 支持Websocket
# gevent-websocket
# 以下代码 和 gevent-websocket 使用方式 请记录在案
from geventwebsocket.handler import WebSocketHandler
from geventwebsocket.server import WSGIServer
from geventwebsocket.websocket import WebSocket  # 语法提示from flask import Flask, request, render_templateapp = Flask(__name__)socket_list = []@app.route("/ws")
def ws():sock = request.environ.get("wsgi.websocket")  # type:WebSocketsocket_list.append(sock)print(socket_list)# 1 : 连接打开# 2 : 客户端主动关闭连接# 3 : 连接关闭 由服务器发起# 0 : 连接中。。。。。。while 1:try:msg = sock.receive()  # helloexcept:socket_list.remove(sock)breakfor so in socket_list:if so == sock:continuetry:so.send(msg)except:continuereturn "200OK"# return "200 OK"@app.route("/")
def index():return render_template("ws_client.html")if __name__ == '__main__':# app.run()http_serv = WSGIServer(("0.0.0.0", 9527), app, handler_class=WebSocketHandler)  # environmenthttp_serv.serve_forever()

简易前端

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! --><title>Bootstrap 101 Template</title><!-- Bootstrap -->
</head>
<body>
<h1>你好,世界!</h1>
<input type="text" id="text"> <button id="send">点击发送消息</button>
<div id="content_list"></div>
</body>
<script type="application/javascript">var ws = new WebSocket("ws://192.168.14.26:9527/ws");// 回调函数// onopen websocket连接建立完成 status == 1// ws.onopen = function () {//     ws.send("Hello");// };// onmessage websocket 接收到消息时 执行ws.onmessage = function (eventMessage) {var s = eventMessage.data;var p = document.createElement("p");p.innerText = s;document.getElementById("content_list").appendChild(p);};// ws.onclose// ws.send("123");document.getElementById("send").addEventListener("onclick",function () {var st = document.getElementById("text").value();ws.send(st);})
</script>
</html>

flask + websocket相关推荐

  1. flask websocket json_Win10环境下使用Flask配合Celery异步推送实时/定时消息/2020年最新攻略...

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_163 首先得明确一点,和Django一样,在2020年Flask 1.1.1以后的版本都不需要所谓的三方库支持,即Flask-Ce ...

  2. Flask+geventwebsocket实现群聊与单聊功能

    Flask+WebSocket 实现群聊与单聊功能 群聊 py文件 from flask import Flask ,request,render_template from geventwebsoc ...

  3. WebSocket is already in CLOSING or CLOSED state解决方案

    使用flask + websocket来进行前后端交互的项目 前端发送send的时候,websocket一连接就中断,测试了心跳设置相应时间等各种方法,都没用,最后发现原来是flask的版本太高导致和 ...

  4. Django Channels 入门指南

    http://www.oschina.NET/translate/in_deep_with_django_channels_the_future_of_real_time_apps_in_django ...

  5. Flask--WebSocket

    flask   websocket websocket原理 Socket: FTP - 文件服务 Django Flask Http - TCP: 1.一次请求 一次响应 断开 2.客户端永远处于主动 ...

  6. 在flask上使用websocket

    在flask上使用websocket Flask-Sockets和Flask-SocketIO之间的主要区别在于前者仅仅将WebSocket协议(通过使用gevent-websocket项目)进行包装 ...

  7. flask总结之session,websocket,上下文管理

    1.关于session flask是带有session的,它加密后存储在用户浏览器的cookie中,可以通过app.seesion_interface源码查看 from flask import Fl ...

  8. 三维交互可视化平台(智慧海上牧场平台)学习开发Flask+Vue+Echarts+Mysql+websocket 实战(四)

    前言 三维交互可视化平台(智慧海上牧场平台)学习开发之Vue(一) 三维交互可视化平台(智慧海上牧场平台)学习开发之Flask+Vue+Mysql(二) 三维交互可视化平台(智慧海上牧场平台)学习开发 ...

  9. flask+vue+websocket+neo4j+torch模型项目常见报错

    一.vue和flask部分 webpack-dev-server 不是内部或外部命令,也不是可运行的程序 - 删除node_modules 和 npm-shrinkwrap.json - npm sh ...

  10. python Flask 11 Flas使用gevent-websocket 实现 Websocket

    之前不知道在哪个场合下提到过如何从web后台向前台推送消息.听闻了反向ajax技术这种模式之后,大呼神奇,试了一下之后发现也确实可以用.不过,反向ajax的代价也很明显,只要客户端还和服务端要有信息交 ...

最新文章

  1. (C++)1021 个位数统计
  2. 【数据库】基础知识总结
  3. 线上慢查询?试试这几个优化思路!
  4. “斐波那契数列”的两种算法
  5. 基于迁移学习的反欺诈方法研究
  6. jmeter接口自动化部署jenkins教程
  7. 二分二题-P1678,P3902【二分,LIS】
  8. Nature | IL-27直接靶向脂肪细胞以促进产热而改善肥胖
  9. linux dhcpd 设置 关于 subnet
  10. 【华为云技术分享】STM32L476移植华为LiteOS系列教程------背景知识 1
  11. Sublime Text 3的中文显示乱码问题
  12. 一文学会 Prometheus:开源系统监视和警报工具包!
  13. java,类的构造方法
  14. BZOJ2325[ZJOI2011]道馆之战——树链剖分+线段树
  15. Hoverfly - 微服务虚拟化示例
  16. 第一章 DHT11温湿度传感器的使用
  17. YOLOv3原理详解(绝对通俗易懂)2021-07-01
  18. SpringBoot中出现‘@‘ that cannot start any token. (Do not use @ for indentation)....
  19. SourceTree 删除记住的账户
  20. windows系统锁定计算机组合键,WIN键间断性触发在锁定状态!!

热门文章

  1. mysql 插入毫秒数据_MySQL存储毫秒数据的方法
  2. C++ 代码整洁之道
  3. linux 图片转视频教程,如何在Ubuntu上转换图像、音频和视频格式
  4. 小米开发版安装magisk_小米9手机不用解锁安装Magisk工具的教程
  5. 潮流计算和最优潮流计算
  6. linux车机carplay模块,卸甲科技UI2.0版本Linux车机发布
  7. 数值分析笔记 第一章 数值分析与科学计算引论
  8. 离散数学第六版第er章偶数题答案_离散数学第2章习题解答
  9. ubuntu 下安装ibus 中文输入法
  10. codeblocks下载安装与解决codeblocks找不到编译器的方法