====== Activité : les bases des websockets avec Flask-socketio ====== ===== Une application de base ===== from flask import Flask, render_template from flask_socketio import SocketIO app = Flask(__name__) # creation de l'application Web utilisant Flask app.config['SECRET_KEY'] = 'secret!' #activation du chiffrement socketio = SocketIO(app) # SockeyIO est associe a app @app.route('/') # vue/page d'accueil du site Web def index(): return render_template('index.html') @socketio.on('messagepourserveur') def messagerecu(message, methods=['GET', 'POST']): # la variable message contient l'information recue du client print('information reçue: '+ message) socketio.emit( 'messagepourclient', 'Bonjour cher client') print('information envoyee') if __name__ == '__main__': socketio.run(app, debug=True) # valeur par défaut pour l'hôte (127.0.0.1) et le port (5000) # activation de debug pour visualiser les erreurs ===== Recevoir des messages dans l'application===== @socketio.on('messagepourserveur') def handle_my_custom_event(json): print('received json: ' + str(json)) def messagerecu(message, methods=['GET', 'POST']): # la variable message contient l'information recue du client print('information reçue: '+ message) * Le message reçu peut être au format **string**, **bytes**, **int** ou **JSON**. ===== Envoyer des messages au client Web ===== socketio.emit( 'messagepourclient', 'Bonjour cher client') * **emit()** permet de donner un nom à la réponse ; * sinon je peux utiliser **send(message)**. ==== Activité Les langages pour créer des sites Web ... ==== * [[isn:langageweb|Les langages pour créer des sites Web]]