Несколько сеансов на сокетной колбе - PullRequest
0 голосов
/ 01 ноября 2018

Я использую Flask Socketio для создания динамической веб-страницы, которая возвращает результаты некоторых исследований, выполняемых бэкэндом Python.

Поскольку я новичок в веб-разработке на Python, я не уверен, как создать REST-сервис для одновременной обработки нескольких сессий. Например, в стеке MEAN это обрабатывается изначально.

объяснить; Если у меня есть два или более клиентов - Джон и Эшли - я зайду на www.sampleflaskwebapp.com, где они получат поле поиска. Если Джон отправляет запрос - он возвращает результаты в том же веб-приложении на одной странице. Тем не менее, Эшли также увидит, что одностраничное веб-приложение обновляется с теми же результатами, что и Джон. И наоборот, конечно.

Чего мне не хватает, чтобы они не видели сеансы друг друга?

В настоящее время у меня есть базовое приложение на основе Flask SocketIO с одностраничным 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...