Kuunganisha WebSocket ndani Flask na FastAPI

WebSocket ni teknolojia yenye nguvu ya kuanzisha njia mbili za mawasiliano ya wakati halisi kati ya seva na wateja. Chini ni mwongozo wa jinsi ya kujumuisha WebSocket katika mifumo miwili maarufu, Flask na FastAPI.

Kuunganisha WebSocket ndani Flask

Hatua ya 1: Sakinisha Maktaba

Kwanza, unahitaji kusanikisha flask na flask-socketio maktaba kwa kutumia amri ifuatayo:

pip install Flask flask-socketio

Hatua ya 2: Sanidi Programu

Hapa kuna mfano wa jinsi ya kujumuisha WebSocket katika Flask programu:

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)  

Katika kijisehemu cha msimbo hapo juu, tunatumia flask-socketio maktaba kuunda WebSocket seva. Kazi handle_message inaitwa wakati mteja anatuma ujumbe, na seva hujibu kwa kutoa response tukio.

Kuunganisha WebSocket ndani FastAPI

Hatua ya 1: Sakinisha Maktaba

Sakinisha fastapi na uvicorn maktaba kwa kutumia amri ifuatayo:

pip install fastapi uvicorn

Hatua ya 2: Sanidi Programu

Hapa kuna mfano wa jinsi ya kujumuisha WebSocket katika FastAPI programu:

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

Katika kijisehemu cha msimbo hapo juu, tunatumia FastAPI kuunda WebSocket seva. Chaguo websocket_endpoint za kukokotoa hukubali WebSocket miunganisho, husikiliza data iliyotumwa na wateja, na hujibu kwa kutuma data kwa mteja.

Hitimisho

Kuunganishwa WebSocket katika mifumo maarufu kama Flask na FastAPI kufungua uwezekano wa kuunda programu za wakati halisi na mawasiliano ya pande mbili kati ya seva na wateja.