从 Flask 中的另一个类导入 @socketio.on()
Posted
技术标签:
【中文标题】从 Flask 中的另一个类导入 @socketio.on()【英文标题】:Import @socketio.on() from another class in Flask 【发布时间】:2014-09-30 14:08:51 【问题描述】:我正在使用 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')”,这样我就不会重载主类。
我猜蓝图可能是一个解决方案,但我只发现了如何将它们与“路线”一起使用。我不确定这是否适用于套接字。
谁能帮帮我?谢谢大家
【问题讨论】:
【参考方案1】:您可以通过将socketio.on()
函数移动到不同的模块来执行此操作。您提到了类,但这些实际上是函数,构建应用程序的方法是将其不同部分分成模块或包。
看看我创建的this example,它演示了一种构建使用 Flask-SocketIO 的 Flask 应用程序的方法。
【讨论】:
感谢您的示例链接,它是救命稻草。 在我的示例中,我的套接字发射发生在使用 ThreadPoolExecutor 的后台任务中。它是从库中调用的——> concurrent.futures 导入 ThreadPoolExecutor。如何从主脚本调用这个库?以上是关于从 Flask 中的另一个类导入 @socketio.on()的主要内容,如果未能解决你的问题,请参考以下文章