Integrálása WebSocket és Flask _ FastAPI

WebSocket egy hatékony technológia kétirányú, valós idejű kommunikációs csatornák létrehozására a szerverek és a kliensek között. Az alábbiakban bemutatjuk, hogyan lehet integrálni WebSocket két népszerű keretrendszerbe, Flask és FastAPI.

Beépülve WebSocket _ Flask

1. lépés: Telepítse a könyvtárakat

Először is telepítenie kell a flask és flask-socketio könyvtárakat a következő paranccsal:

pip install Flask flask-socketio

2. lépés: Állítsa be az alkalmazást

Íme egy példa WebSocket az Flask alkalmazásba való integrálásra:

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)  

A fenti kódrészletben a flask-socketio könyvtárat használjuk szerver létrehozására WebSocket. A handle_message függvény akkor hívódik meg, amikor egy kliens üzenetet küld, és a szerver response esemény kibocsátásával válaszol.

Beépülve WebSocket _ FastAPI

1. lépés: Telepítse a könyvtárakat

Telepítse a fastapi és uvicorn könyvtárakat a következő paranccsal:

pip install fastapi uvicorn

2. lépés: Állítsa be az alkalmazást

Íme egy példa WebSocket az FastAPI alkalmazásba való integrálásra:

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

A fenti kódrészletben egy szerver FastAPI létrehozására használjuk. WebSocket A websocket_endpoint funkció fogadja WebSocket a kapcsolatokat, figyeli az ügyfelek által küldött adatokat, és az adatok visszaküldésével válaszol a kliensnek.

Következtetés

WebSocket Az olyan népszerű keretrendszerekbe való integráció, mint például Flask és FastAPI lehetőséget ad valós idejű alkalmazások létrehozására és kétirányú kommunikációra a szerverek és a kliensek között.