Вы должны использовать Flask -Login, чтобы ваши клиенты вошли в систему, например:
from flask import Flask, render_template, redirect, url_for
from flask_login import LoginManager, current_user, login_user, logout_user
login_manager = LoginManager(app)
app = Flask(__name__)
socketio = SocketIO(app)
@login_manager.user_loader
def load_user(name):
return name
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
name = request.form['name']
# will create session for user while he don't click on link '/logout' in html
login_user(name, remember=True)
return render_template('login.html')
@app.route('/logout', methods = ['GET', 'POST'])
@login_required
def logout():
logout_user()
return redirect(url_for('login'))
if __name__ == "__main__":
app.secret_key = secret_key
socketio.run(app, debug=True, host='localhost', port='8080')
После, если вам нужны разные комнаты, вы должны прочитать о join_room, оставлять_room в Flask PS: Кроме того, Flask просто используя потоки, вам не нужно создавать больше потоков