WebSocket ist eine leistungsstarke Technologie zum Aufbau bidirektionaler Echtzeit-Kommunikationskanäle zwischen Servern und Clients. Nachfolgend finden Sie eine Anleitung zur Integration WebSocket in zwei gängige Frameworks: Flask und FastAPI.
Integrieren WebSocket in Flask
Schritt 1: Bibliotheken installieren
Zunächst müssen Sie die Bibliotheken flask
und flask-socketio
mit dem folgenden Befehl installieren:
pip install Flask flask-socketio
Schritt 2: Richten Sie die Anwendung ein
Hier ist ein Beispiel für die Integration WebSocket in eine Flask Anwendung:
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)
Im obigen Codeausschnitt verwenden wir die flask-socketio
Bibliothek, um einen WebSocket Server zu erstellen. Die handle_message
Funktion wird aufgerufen, wenn ein Client eine Nachricht sendet und der Server antwortet, indem er ein response
Ereignis ausgibt.
Integrieren WebSocket in FastAPI
Schritt 1: Bibliotheken installieren
Installieren Sie die fastapi
und- uvicorn
Bibliotheken mit dem folgenden Befehl:
pip install fastapi uvicorn
Schritt 2: Richten Sie die Anwendung ein
Hier ist ein Beispiel für die Integration WebSocket in eine FastAPI Anwendung:
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}")
Im obigen Codeausschnitt FastAPI erstellen wir einen WebSocket Server. Die websocket_endpoint
Funktion akzeptiert WebSocket Verbindungen, lauscht auf von Clients gesendete Daten und sendet als Antwort Daten an den Client zurück.
Abschluss
Die Integration WebSocket in gängige Frameworks wie Flask und FastAPI eröffnet Möglichkeiten zur Erstellung von Echtzeitanwendungen und zur bidirektionalen Kommunikation zwischen Servern und Clients.