Я пытаюсь включить socketio в свой проект фляги. Прямо сейчас я пытаюсь получить простой вывод с сервера «Подключен» или «Отключен». Однако, когда я запускаю сценарий приложения с «python app.py», я не получаю ни этих сообщений, ни каких-либо ошибок, указывающих мне в каком-либо направлении.
Никогда не думал, что пропущу ошибки!
app.py
from flask import Flask, render_template, request, url_for, copy_current_request_context
from flask_socketio import SocketIO, emit
import logging
logging.basicConfig()
app = Flask(__name__)
app.config['SECRET_KEY'] = 'secret!'
app.config['DEBUG'] = True
socketio = SocketIO(app)
@app.route('/scan/')
def waitForRFID():
return render_template('scan.html')
@socketio.on('connect', namespace='/test')
def test_connect():
print('Client connected')
@socketio.on('disconnect', namespace='/test')
def test_disconnect():
print('Client disconnected')
if __name__ == '__main__':
socketio.run(app)
scan.html
<!doctype html>
<meta name="viewport" content="width=device-width, initial-scale=1">
<head>
<script src="//cdnjs.cloudflare.com/ajax/libs/socket.io/1.3.6/socket.io.min.js"></script>
<script src="{{ url_for('static', filename = 'js/scan.js') }}"></script>
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/scan.css') }}" />
</head>
scan.js
$(document).ready(function(){
//connect to the socket server.
var socket = io.connect('http://' + document.domain + ':' + location.port + '/test');
});
Когда я запускаю файл app.py и посещаю 127.0.0.1:5000/scan/, я получаю в терминале следующий вывод:
127.0.0.1 - - [2018-02-11 16:42:10] "GET /scan/ HTTP/1.1" 200 812 0.010323
Веб-страница загружается правильно, и я получаю тот же результат, если запускаю ее в виртуальной среде или из нее.
Что может быть не так с такой простой настройкой? Заранее спасибо!