Outils pour utilisateurs

Outils du site


Panneau latéral

ACCUEIL

Support de cours

SNT

Semestre 1

Semestre 2

Semestre 3 et 4

Les livres du BTS SIO

Archives

Semestre 1


Semestre 2

—-

ICN

isn:websocketflask_02

Activité : les bases des websockets avec Flask-socketio

Une application de base

app.py
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/websocketflask_02.txt · Dernière modification: 2020/03/12 15:56 de techer.charles_educ-valadon-limoges.fr