首页 > 解决方案 > flask-socketio 什么时候执行房间事件

问题描述

我刚刚开始使用 flask-socketio 并且想知道房间事件什么时候执行?

的背景:

我等待一个自定义事件,让我们调用它addUser。当从客户端发送该事件时,我执行join_room('roomName'). create-room如果没有创建房间,我会期待这个事件。在create-room事件处理程序中,我初始化了一些我在addUser. 现在不知何故我从来没有得到这个create-room事件。

from flask import Flask, jsonify, request, render_template
from flask_socketio import SocketIO, send, emit, join_room, leave_room, rooms
...

rid2Game = {}

@socketio.on('addUser')
def addUser(rid, uid):
    print('New user %s -> %s joining' % (request.sid, uid))
    join_room(rid)
    # time.sleep(10)
    rid2Game[str(rid)].connect(request.sid, uid) # this depends on the initialization of create-room
# (this is a threading thing too, but I thought, at least
# for testing with the waiting above this would have to work)

@socketio.on('create-room')
def createRoom(rid):
    print("Add room %s" % rid)
    rid2Game[str(rid)] = game.Game() # some initialization

我做错了什么?(也许有人甚至对线程有想法)

标签: pythonflaskflask-socketio

解决方案


推荐阅读