【发布时间】:2018-02-07 17:12:21
【问题描述】:
我想用 websocket 运行我的 Flask 应用程序。只要我开始我的joiner类(作为线程运行)然后想要注册一个回调函数,一切似乎都很好。这适用于烧瓶开发服务器。 由于我的英语不太好,我很难理解 Flask 的上下文问题。任何帮助将不胜感激
@socketio.on('change_R8', namespace='/fl')
def change_Relay8(R8_stat):
if R8_stat == 'on':
#print("Relay 8 on")
ui.set_relay(8,1,0)
elif R8_stat == 'off':
#print("Relay 8 off")
ui.set_relay(8,0,0)
# Listen for SocketIO event that will change analog output
@socketio.on('change_ao', namespace='/fl')
def change_ao(ao_value):
#print("setze ao auf: ", ao_value)
ui.set_ao(ao_value)
#- call back function from UniPi_joiner_class----------------------------
def unipi_change(event, data):
#print("Webserver in: ",event,data)
emit_to_all_clients(event, data)
# main program ----------------------------------------------------------
if __name__ == "__main__":
log.text("Flask Web-Server gestartet")
print("Flask Web-Server gestartet")
joiner = unipi_joiner("10.0.0.52",0)
joiner.on_unipi_change(unipi_change)
socketio.run(app, host='127.0.0.1', use_reloader=False, debug=False)
log.text("Flask Web-Server beendet")
【问题讨论】:
-
请包含您收到的错误的完整堆栈跟踪。如果您解释
unipi_joiner()函数的作用,它也会很有用。