app.py 文件源码

python
阅读 17 收藏 0 点赞 0 评论 0

项目:flask-socketio-example 作者: takiyu 项目源码 文件源码
def new_server(update_queue, response_queue, stop_page, port, secret_key):
    # create server
    app = Flask(__name__, static_url_path='/static')
    app.config['SECRET_KEY'] = secret_key
    socketio = SocketIO(app, async_mode=ASYNC_MODE,
                        logger=False, engineio_logger=False)

    # rooting
    @app.route('/')
    def __index():
        logger.info('Render page')
        return render_template('index.html', script="index.js")

    if stop_page:
        @app.route('/stop')
        def __stop():
            socketio.stop()
            logger.info('Server stop request')
            return 'This server is stopped'

    @socketio.on('connect', namespace=IO_NAMESPACE)
    def __on_connect():
        logger.info('New connection is established')

    @socketio.on('disconnect', namespace=IO_NAMESPACE)
    def __on_disconnect():
        logger.info('Connection is closed')

    @socketio.on('update', namespace=IO_NAMESPACE)
    def __on_update(data):
        update_queue.put(data)
        if response_queue is not None:
            res = response_queue.get()
            emit('response', res)

    # start server
    logger.info('Start server on port %d' % port)
    socketio.run(app, host='0.0.0.0', port=port, debug=False, log_output=False)
    logger.info('Stop server on port %d' % port)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号