实时将数据推送到Flask应用程序

时间:2019-04-25 00:36:50

标签: python python-3.x flask websocket socket.io

我正在尝试使用socketIO将实时图形数据流传输到Flask应用程序。

我尝试过使用start_background_task()和APScheduler,但是遇到401错误,无法通过在应用程序上下文中进行操作来解决。

import flask as f
import flask_socketio as s
import numpy as np

app = f.Flask(__name__)
app.secret_key = 'password'
socket = s.SocketIO(app)
thread = None

def sendData():
    print('SENDING')
    with app.app_context():
        socket.emit('data', {'x': np.random.randint(0,100),'y': np.random.randint(0,100)},json=True)
    print('SENT')

@app.route('/')
def main():
    return f.render_template('main.html')

@socket.on('connect')
def test_connect():
    global thread
    if thread is None:
        thread = socket.start_background_task(sendData)

socket.run(app,'localhost',8080,debug=True)

我正在记录接收到的数据,但是错误:

RangeError:超出最大调用堆栈大小。

任何帮助表示赞赏!

0 个答案:

没有答案