Integreren WebSocket in Flask en FastAPI

WebSocket is een krachtige technologie voor het tot stand brengen van bidirectionele real-time communicatiekanalen tussen servers en clients. Hieronder vindt u een gids over hoe te integreren WebSocket in twee populaire frameworks, Flask en FastAPI.

Integreren WebSocket in Flask

Stap 1: Installeer bibliotheken

Eerst moet u de bibliotheken flask en installeren flask-socketio met behulp van de volgende opdracht:

pip install Flask flask-socketio

Stap 2: stel de applicatie in

Hier is een voorbeeld van hoe te integreren WebSocket in een Flask applicatie:

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)  

In het bovenstaande codefragment gebruiken we de flask-socketio bibliotheek om een WebSocket ​​server te maken. De handle_message functie wordt aangeroepen wanneer een client een bericht verzendt en de server reageert door een response gebeurtenis uit te zenden.

Integreren WebSocket in FastAPI

Stap 1: Installeer bibliotheken

Installeer de bibliotheken fastapi en uvicorn met behulp van de volgende opdracht:

pip install fastapi uvicorn

Stap 2: stel de applicatie in

Hier is een voorbeeld van hoe te integreren WebSocket in een FastAPI applicatie:

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

In het bovenstaande codefragment gebruiken we FastAPI om een WebSocket ​​server te maken. De websocket_endpoint functie accepteert WebSocket verbindingen, luistert naar gegevens die door clients zijn verzonden en reageert door gegevens terug te sturen naar de client.

Conclusie

Integratie WebSocket in populaire frameworks zoals Flask en FastAPI opent mogelijkheden voor het creëren van real-time applicaties en bidirectionele communicatie tussen servers en clients.