Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在flask socket.io服务器启动之前执行一些代码?_Python_Sockets_Flask_Flask Socketio - Fatal编程技术网

Python 如何在flask socket.io服务器启动之前执行一些代码?

Python 如何在flask socket.io服务器启动之前执行一些代码?,python,sockets,flask,flask-socketio,Python,Sockets,Flask,Flask Socketio,我有一个基于flask socketIO的应用程序。我想在flask服务器启动之前执行一些代码。 我的app.py文件如下所示: from flask import Flask from flask_cors import CORS from flask_socketio import SocketIO app = Flask(__name__) app.config['SECRET_KEY'] = 'secret!' socketio = SocketIO(app) CORS(app)

我有一个基于flask socketIO的应用程序。我想在flask服务器启动之前执行一些代码。 我的app.py文件如下所示:

from flask import Flask
from flask_cors import CORS
from flask_socketio import SocketIO


app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
CORS(app)

@socketio.on('connect')
def test_connect():
    print("Client connected")


@socketio.on('disconnect')
def test_disconnect():
    print('Client disconnected')

if __name__ == "__main__":
    socketio.run(app, debug=False, host='0.0.0.0')
当我运行程序时:
FLASK\u APP=APP.py FLASK run--host=0.0.0.0
,我得到如下控制台输出:
*为FLASK SocketIO APP“APP”提供服务
然后,一些客户端连接到我的应用程序,它按照我的预期工作,但我希望看到
print
,它位于
socketio.run(app)
之上

如何在服务器启动前执行代码?

使用

更新:

它还没有运行吗?因为python是一种解释语言,所以它应该打印出来。它不会运行,但如果我把它(代码)放在导入下面,我可以在服务器启动之前执行代码,但我认为它不是python的解决方案。不。在python之后添加不是正确的方法。看看你是否可以创建一个自定义函数并在`socket.run()`之前调用它,它对我不起作用,在我的app.py文件的开头,我有:app=Flask(name)socketio=socketio(app),我还尝试了@socketio.before_first_请求,但我得到一个错误,socketio没有属性“在第一次请求之前”@trojek它应该可以工作,否则你的设置错误。。。你能包括你所有的
app.py
代码吗。所以我可以看看…可能我有一些环境问题。
@app.before_first_request
def your_function():
    print("execute before server starts")