flask使用socketio的后端与前端(网页)实时交互

工程原因需要后端实时推送数据到前端,并在前端进行相应的显示响应

项目架构

 static存放css、js、images等静态数据

templates存放html网页文件

实现

后端main.py

from flask_socketio import SocketIO
from flask import Flask, render_template, request
from threading import Lock

thread = None
thread_lock = Lock()
app = Flask(__name__)
socketio = SocketIO(app, cors_allowed_origins='*')
connected_sids = set()  # 存放已连接的客户端

@app.route('/')
def index():
    return render_template('index.html')

@socketio.on('connect')
def on_connect():
    connected_sids.add(request.sid)
    print(f'{request.sid} 已连接')
    global thread
    with thread_lock:
        print(thread)
        if thread is None:
            # 如果socket连接,则开启一个线程,专门给前端发送消息
            thread &
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值