WebSocket est une technologie puissante pour établir des canaux de communication bidirectionnels en temps réel entre les serveurs et les clients. Vous trouverez ci-dessous un guide sur la façon d'intégrer WebSocket dans deux frameworks populaires, Flask et FastAPI.
S'intégrer WebSocket dans Flask
Étape 1 : Installer les bibliothèques
Tout d'abord, vous devez installer les bibliothèques flask
et flask-socketio
à l'aide de la commande suivante :
pip install Flask flask-socketio
Étape 2: configurer l'application
Voici un exemple d'intégration WebSocket dans une Flask application :
from flask import Flask, render_template
from flask_socketio import SocketIO, emit
app = Flask(__name__)
socketio = SocketIO(app)
@app.route('/')
def index():
return render_template('index.html')
@socketio.on('message')
def handle_message(message):
emit('response', {'data': message})
if __name__ == '__main__':
socketio.run(app)
Dans l'extrait de code ci-dessus, nous utilisons la flask-socketio
bibliothèque pour créer un WebSocket serveur. La handle_message
fonction est appelée lorsqu'un client envoie un message et le serveur répond en émettant un response
événement.
S'intégrer WebSocket dans FastAPI
Étape 1 : Installer les bibliothèques
Installez les bibliothèques fastapi
et uvicorn
à l'aide de la commande suivante :
pip install fastapi uvicorn
Étape 2: configurer l'application
Voici un exemple d'intégration WebSocket dans une FastAPI application :
from fastapi import FastAPI, WebSocket
from fastapi.responses import HTMLResponse
app = FastAPI()
@app.get('/')
def get():
return HTMLResponse(content=open("index.html").read())
@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
while True:
data = await websocket.receive_text()
await websocket.send_text(f"Server received: {data}")
Dans l'extrait de code ci-dessus, nous utilisons FastAPI pour créer un WebSocket serveur. La websocket_endpoint
fonction accepte WebSocket les connexions, écoute les données envoyées par les clients et répond en renvoyant les données au client.
Conclusion
L'intégration WebSocket dans des frameworks populaires comme Flask et FastAPI ouvre des possibilités de création d'applications en temps réel et de communication bidirectionnelle entre les serveurs et les clients.