从 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()的主要内容,如果未能解决你的问题,请参考以下文章

如何从android studio中的另一个模块导入类?

从eclipse中的另一个java项目导入

无法将 Java 项目中的类文件导入同一项目中的另一个类文件

从cakephp1.2&1.3中的另一个模型导入模型

如何从 Flask 中的配置文件导入?

您可以从 github 存储库中的另一个目录导入 python 模块吗? [复制]