WebSocket è una potente tecnologia per stabilire canali di comunicazione bidirezionali in tempo reale tra server e client. Di seguito è riportata una guida su come integrare WebSocket in due framework popolari Flask e FastAPI.
Integrazione WebSocket in Flask
Passaggio 1: installa le librerie
Innanzitutto, è necessario installare le librerie flask
e flask-socketio
utilizzando il seguente comando:
pip install Flask flask-socketio
Passaggio 2: configurare l'applicazione
Ecco un esempio di come integrare WebSocket in un'applicazione Flask:
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)
Nello snippet di codice sopra, utilizziamo la flask-socketio
libreria per creare un WebSocket server. La handle_message
funzione viene chiamata quando un client invia un messaggio e il server risponde emettendo un response
evento.
Integrazione WebSocket in FastAPI
Passaggio 1: installa le librerie
Installa le librerie fastapi
e uvicorn
usando il seguente comando:
pip install fastapi uvicorn
Passaggio 2: configurare l'applicazione
Ecco un esempio di come integrare WebSocket in un'applicazione FastAPI:
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}")
Nello snippet di codice sopra, usiamo FastAPI per creare un WebSocket server. La websocket_endpoint
funzione accetta WebSocket connessioni, ascolta i dati inviati dai client e risponde inviando i dati al client.
Conclusione
L'integrazione WebSocket in framework popolari come Flask e FastAPI apre possibilità per la creazione di applicazioni in tempo reale e la comunicazione bidirezionale tra server e client.