L-integrazzjoni WebSocket fi Flask u FastAPI

WebSocket hija teknoloġija qawwija biex jiġu stabbiliti kanali ta 'komunikazzjoni bidirezzjonali f'ħin reali bejn is-servers u l-klijenti. Hawn taħt hawn gwida dwar kif tintegra WebSocket f'żewġ oqfsa popolari, Flask u FastAPI.

L-integrazzjoni WebSocket fi Flask

Pass 1: Installa Libreriji

L-ewwelnett, għandek bżonn tinstalla l flask -u flask-socketio libreriji billi tuża l-kmand li ġej:

pip install Flask flask-socketio

Pass 2: Twaqqaf l-Applikazzjoni

Hawn eżempju ta' kif tintegra WebSocket f'applikazzjoni 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)  

Fis-snippet tal-kodiċi hawn fuq, nużaw il- flask-socketio librerija biex noħolqu WebSocket server. Il- handle_message funzjoni tissejjaħ meta klijent jibgħat messaġġ, u s-server jirrispondi billi jarmi avveniment response.

L-integrazzjoni WebSocket fi FastAPI

Pass 1: Installa Libreriji

Installa l fastapi -u uvicorn libreriji billi tuża l-kmand li ġej:

pip install fastapi uvicorn

Pass 2: Twaqqaf l-Applikazzjoni

Hawn eżempju ta' kif tintegra WebSocket f'applikazzjoni 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}")

Fis-snippet tal-kodiċi hawn fuq, nużaw FastAPI biex noħolqu WebSocket server. Il- websocket_endpoint funzjoni taċċetta WebSocket konnessjonijiet, tisma 'd-dejta mibgħuta mill-klijenti, u twieġeb billi tibgħat id-dejta lura lill-klijent.

Konklużjoni

L-integrazzjoni WebSocket f'oqfsa popolari bħal Flask u FastAPI tiftaħ possibbiltajiet għall-ħolqien ta 'applikazzjonijiet f'ħin reali u komunikazzjoni bidirezzjonali bejn servers u klijenti.