如何使用socket.io启动flask应用程序

时间:2017-11-08 04:42:22

标签: flask socket.io flask-socketio

我在Gunicorn WSGI HTTP Server上运行了一个烧瓶应用程序。我的烧瓶版本是0.10.1。下面给出了我的应用初始化的简单版本。在真正的应用程序中,它做了很多事情。

import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!

我使用shell脚本运行应用程序。

exec gunicorn --timeout 300 -c "$ROOT"/deploy/gunicorn.conf.py deploy:app "$@"

配置文件gunicorn.conf.py如下所示。

#!/usr/bin/env python

import multiprocessing
bind = "127.0.0.1:18000"
workers = min(4, multiprocessing.cpu_count() * 2 + 1)
preload = True
worker_class = "gevent"
loglevel = "warning"

到目前为止,这一切都正常。现在,我正在我的一个应用程序页面中实现套接字功能。套接字仅用于该特定页面,而不是在浏览其他页面时使用。我在服务器部分使用Flask_socketio,在客户端使用socket.io。

根据链接socket.io with flask,我需要使用

运行应用
if __name__ == '__main__':
    socketio.run(app)

现在我的困惑是,我是否需要将整个app对象包装在socketio中并使用socketio.run(app)启动它。我还没有其他方法可以为该页面初始化套接字。另外我想知道如果从现在开始使用socketio.run(app)会有什么影响。

0 个答案:

没有答案