Flask Socketio上的多个会话

时间:2018-11-01 13:14:36

标签: python flask socket.io

我正在使用Flask Socketio创建一个动态网页,该网页返回Python后端正在运行的某些调查结果。

由于我是Python Web开发的新手,所以我不确定如何构造REST服务来同时处理多个会话。例如,在MEAN堆栈中,这是本地处理的。

解释; 如果我有两个或两个以上的客户(约翰和阿什利),请访问www.sampleflaskwebapp.com,他们将在其中使用一些搜索框。 如果John提交了搜索-他会在同一个Page Web应用程序上返回结果。 但是,Ashley还将看到单页Web应用程序已更新,其结果与John得到的结果相同。反之亦然。

让他们看不到彼此的会话我想念什么?

目前,我拥有的是一个基于Flask SocketIO的基本应用程序,该应用程序具有单页Web应用程序HTML模板,可将结果馈入其中。

Runserver.py:

from webapp import create_app, socketio

app = create_app(debug=True)

if __name__ == '__main__':
    socketio.run(app, host='0.0.0.0', port=8080)

views.py

from flask import Flask, render_template, url_for, copy_current_request_context, request
from flask_socketio import SocketIO, emit
from . import main
from time import sleep
from threading import Thread, Event
import os

from datetime import datetime

from . import settings

from .. import socketio

APP_ROOT = os.path.dirname(os.path.abspath(__file__))

settings.init()

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

@socketio.on('connect', namespace='/test')
def test_connect():
    global thread
    print('Client connected')


@socketio.on('disconnect', namespace='/test')
def test_disconnect():
    print('Client disconnected')

@socketio.on('search', namespace='/test')
def search(message):

    try:
        socketio.emit('searchstart','', namespace='/test')

        socketio.emit('setoriginal', message['data']+'.png', namespace='/test')


    except Exception as e:
        print(e)

0 个答案:

没有答案