当debug = False时,带有gevent的烧瓶socketIo不起作用

时间:2019-03-06 13:38:48

标签: flask raspberry-pi gevent flask-socketio

我正在uWSGI服务器上运行的Raspberry Pi上运行Flask应用程序。我正在尝试通过Flask-socketIo结合文档中指定的gevent和gevent-websocket来实现WebSocket协议。

当我用这一行启动应用程序时,我没有遇到任何问题,数据将通过websocket发送到客户端,如预期的那样:

socketio.run(app, host='0.0.0.0', port=80, debug=True)

但是,如果将debug设置为False,则emit函数将不再起作用。

def updateSensorsState(sensor):
    print "update"
    socketio.emit('state', json.dumps(sensor))

在这种情况下,当我按下按钮时,会从GPIO回调中调用updateSensorState(sensor)。我在控制台中打印了更新,并且emission函数似乎挂在那里。如果我多次按下该按钮,客户端将不时地在很多时间后收到消息队列...

任何能帮助我解决我的代码问题的建议都会非常感激。 谢谢。

0 个答案:

没有答案