Integroituminen ja WebSocket _ Flask FastAPI

WebSocket on tehokas tekniikka kaksisuuntaisten reaaliaikaisten viestintäkanavien luomiseen palvelimien ja asiakkaiden välille. Alla on opas, kuinka integroida WebSocket kahteen suosittuun kehykseen Flask ja FastAPI.

Integroituminen WebSocket _ Flask

Vaihe 1: Asenna kirjastot

Ensinnäkin sinun on asennettava flask ja flask-socketio kirjastot käyttämällä seuraavaa komentoa:

pip install Flask flask-socketio

Vaihe 2: Määritä sovellus

Tässä on esimerkki WebSocket sovellukseen integroinnista Flask:

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)  

Yllä olevassa koodinpätkässä käytämme kirjastoa flask-socketio palvelimen luomiseen WebSocket. Toimintoa handle_message kutsutaan, kun asiakas lähettää viestin, ja palvelin vastaa lähettämällä tapahtuman response.

Integroituminen WebSocket _ FastAPI

Vaihe 1: Asenna kirjastot

Asenna fastapi ja uvicorn kirjastot käyttämällä seuraavaa komentoa:

pip install fastapi uvicorn

Vaihe 2: Määritä sovellus

Tässä on esimerkki WebSocket sovellukseen integroinnista FastAPI:

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

Yllä olevassa koodinpätkässä käytämme FastAPI palvelimen luomiseen WebSocket. Toiminto websocket_endpoint hyväksyy WebSocket yhteydet, kuuntelee asiakkaiden lähettämiä tietoja ja vastaa lähettämällä tietoja takaisin asiakkaalle.

Johtopäätös

Integroituminen WebSocket suosittuihin kehyksiin, kuten Flask ja FastAPI avaa mahdollisuuksia luoda reaaliaikaisia ​​sovelluksia ja kaksisuuntaista viestintää palvelimien ja asiakkaiden välillä.