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)
评论列表
文章目录