Mengintegrasikan WebSocket ke dalam Flask dan FastAPI

WebSocket ialah teknologi berkuasa untuk mewujudkan saluran komunikasi masa nyata dua arah antara pelayan dan pelanggan. Di bawah ialah panduan tentang cara menyepadukan WebSocket ke dalam dua rangka kerja yang popular, Flask dan FastAPI.

Mengintegrasikan WebSocket ke dalam Flask

Langkah 1: Pasang Perpustakaan

Pertama, anda perlu memasang flask dan flask-socketio perpustakaan menggunakan arahan berikut:

pip install Flask flask-socketio

Langkah 2: Sediakan Aplikasi

Berikut ialah contoh cara menyepadukan WebSocket ke dalam Flask aplikasi:

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)  

Dalam coretan kod di atas, kami menggunakan flask-socketio perpustakaan untuk membuat WebSocket pelayan. Fungsi handle_message dipanggil apabila pelanggan menghantar mesej, dan pelayan bertindak balas dengan memancarkan response acara.

Mengintegrasikan WebSocket ke dalam FastAPI

Langkah 1: Pasang Perpustakaan

Pasang fastapi dan uvicorn perpustakaan menggunakan arahan berikut:

pip install fastapi uvicorn

Langkah 2: Sediakan Aplikasi

Berikut ialah contoh cara menyepadukan WebSocket ke dalam FastAPI aplikasi:

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

Dalam coretan kod di atas, kami gunakan FastAPI untuk membuat WebSocket pelayan. Fungsi ini websocket_endpoint menerima WebSocket sambungan, mendengar data yang dihantar oleh pelanggan, dan bertindak balas dengan menghantar semula data kepada pelanggan.

Kesimpulan

Mengintegrasikan WebSocket ke dalam rangka kerja popular seperti Flask dan FastAPI membuka kemungkinan untuk mencipta aplikasi masa nyata dan komunikasi dua arah antara pelayan dan pelanggan.