====== 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]]