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.