Integrace WebSocket do Flask a FastAPI

WebSocket je výkonná technologie pro vytvoření obousměrných komunikačních kanálů v reálném čase mezi servery a klienty. Níže je uveden návod, jak se integrovat WebSocket do dvou populárních rámců Flask a FastAPI.

Integrace WebSocket do Flask

Krok 1: Nainstalujte knihovny

Nejprve musíte nainstalovat knihovny flask a flask-socketio pomocí následujícího příkazu:

pip install Flask flask-socketio

Krok 2: Nastavte aplikaci

Zde je příklad integrace WebSocket do Flask aplikace:

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)  

Ve výše uvedeném fragmentu kódu používáme knihovnu flask-socketio k vytvoření WebSocket serveru. Funkce handle_message je volána, když klient odešle zprávu a server odpoví odesláním response události.

Integrace WebSocket do FastAPI

Krok 1: Nainstalujte knihovny

Nainstalujte knihovny fastapi a uvicorn pomocí následujícího příkazu:

pip install fastapi uvicorn

Krok 2: Nastavte aplikaci

Zde je příklad integrace WebSocket do FastAPI aplikace:

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}")

Ve výše uvedeném fragmentu kódu používáme FastAPI k vytvoření WebSocket serveru. Funkce websocket_endpoint přijímá WebSocket připojení, naslouchá datům odeslaným klienty a odpovídá odesláním dat zpět klientovi.

Závěr

Integrace WebSocket do populárních rámců, jako jsou Flask a FastAPI otevírá možnosti pro vytváření aplikací v reálném čase a obousměrnou komunikaci mezi servery a klienty.