【发布时间】:2017-08-16 18:23:54
【问题描述】:
为了练习,我试图让 Flask 服务器不断地将“Hello”打印到 HTML 页面的控制台。我目前不知道如何进行。
目前,我的服务器代码看起来像这样
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
socketio = SocketIO(app)
@socketio.on('message')
def handle_message(message):
print('Message: ' + message)
send(message)
@socketio.on('json')
def handle_json(json):
send(json, json=True)
@socketio.on('my event')
def handle_my_custom_event(json):
emit('my response', json, broadcast=True)
def hello():
emit('message', {'hello':"Hello"})
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
socketio.run(app)
while True:
hello()
而我的客户端代码如下所示:
<head>
<script type="text/javascript" charset="utf-8">
var socket = io.connect('http://' + document.domain + ':' + location.port);
socket.on('connect', function() {
socket.emit('connected');
});
socket.on('message', function(data) {
console.log(data);
});
</script>
</head>
但我的控制台日志中没有任何内容。如何让它打印从 Flask 服务器发送到控制台的消息?我做错了什么?
我现在明白了,它应该打印 JSON 而不是“Hello”字符串,这也没关系。我只想从服务器的 Web 控制台上打印一些东西。
【问题讨论】:
标签: python web-applications flask websocket send