Integrasi WebSocket menyang Flask lan FastAPI

WebSocket minangka teknologi kuat kanggo nggawe saluran komunikasi wektu nyata bidirectional antarane server lan klien. Ing ngisor iki minangka pandhuan babagan cara nggabungake WebSocket rong kerangka kerja sing populer, Flask lan FastAPI.

Integrasi WebSocket menyang Flask

Langkah 1: Instal Pustaka

Pisanan, sampeyan kudu nginstal flask lan flask-socketio perpustakaan nggunakake printah ing ngisor iki:

pip install Flask flask-socketio

Langkah 2: Nggawe Aplikasi

Mangkene conto carane nggabungake WebSocket menyang 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)  

Ing snippet kode ing ndhuwur, kita nggunakake flask-socketio perpustakaan kanggo nggawe WebSocket server. Fungsi kasebut handle_message diarani nalika klien ngirim pesen, lan server nanggapi kanthi ngetokake response acara.

Integrasi WebSocket menyang FastAPI

Langkah 1: Instal Pustaka

Instal fastapi lan uvicorn perpustakaan nggunakake printah ing ngisor iki:

pip install fastapi uvicorn

Langkah 2: Nggawe Aplikasi

Mangkene conto carane nggabungake WebSocket menyang 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}")

Ing snippet kode ing ndhuwur, kita digunakake FastAPI kanggo nggawe WebSocket server. Fungsi kasebut websocket_endpoint nampa WebSocket sambungan, ngrungokake data sing dikirim klien, lan nanggapi kanthi ngirim data bali menyang klien.

Kesimpulan

Nggabungake WebSocket menyang kerangka populer kaya Flask lan FastAPI mbukak kemungkinan kanggo nggawe aplikasi wektu nyata lan komunikasi bidirectional antarane server lan klien.