在Flask中从另一个类导入@socketio.on()
我正在用Flask和socketio制作一个新应用,代码简化后是这样的:
socketio = SocketIO(app)
@socketio.on('connect', namespace='/test')
def test_connect():
print('Client connected')
emit('my response', {'data': 'User Connected'}, broadcast = True)
if __name__ == '__main__':
socketio.run(app, '0.0.0.0', 8080)
我不太确定怎么从另一个类导入“处理器:@socketio.on('connect', namespace='/test')”,这样我就不会让主类变得太复杂。
我想蓝图(Blueprints)可能是个解决办法,但我只找到如何用它们处理“路由”。我不确定这是否适用于socket。
有人能帮帮我吗?谢谢大家
1 个回答
3
你可以通过把 socketio.on()
函数移动到一个不同的模块来实现这个功能。你提到的是类,但其实这些更像是函数。构建你的应用程序的方式是将不同的部分分开,放到不同的模块或包里。
看看我创建的 这个例子,它展示了如何结构化一个使用 Flask-SocketIO 的 Flask 应用程序。