Integrimi WebSocket në Flask dhe FastAPI

WebSocket është një teknologji e fuqishme për vendosjen e kanaleve të komunikimit të dyanshëm në kohë reale ndërmjet serverëve dhe klientëve. Më poshtë është një udhëzues se si të integrohen WebSocket në dy korniza të njohura, Flask dhe FastAPI.

Duke u integruar WebSocket në Flask

Hapi 1: Instaloni Bibliotekat

Së pari, duhet të instaloni bibliotekat flask dhe flask-socketio duke përdorur komandën e mëposhtme:

pip install Flask flask-socketio

Hapi 2: Vendosni aplikacionin

Këtu është një shembull se si të integroheni WebSocket në një Flask aplikacion:

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)  

Në pjesën e kodit të mësipërm, ne përdorim flask-socketio bibliotekën për të krijuar një WebSocket server. Funksioni handle_message thirret kur një klient dërgon një mesazh dhe serveri përgjigjet duke emetuar një response ngjarje.

Duke u integruar WebSocket në FastAPI

Hapi 1: Instaloni Bibliotekat

Instaloni bibliotekat fastapi dhe uvicorn duke përdorur komandën e mëposhtme:

pip install fastapi uvicorn

Hapi 2: Vendosni aplikacionin

Këtu është një shembull se si të integroheni WebSocket në një FastAPI aplikacion:

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

Në fragmentin e kodit të mësipërm, ne përdorim FastAPI për të krijuar një WebSocket server. Funksioni websocket_endpoint pranon WebSocket lidhjet, dëgjon të dhënat e dërguara nga klientët dhe përgjigjet duke i dërguar të dhënat përsëri klientit.

konkluzioni

Integrimi WebSocket në kornizat e njohura si Flask dhe FastAPI hap mundësi për krijimin e aplikacioneve në kohë reale dhe komunikim dydrejtimësh midis serverëve dhe klientëve.