WebSocket er en kraftig teknologi for å etablere toveis sanntidskommunikasjonskanaler mellom servere og klienter. Nedenfor er en guide for hvordan du integrerer WebSocket i to populære rammeverk, Flask og FastAPI.
Integrering WebSocket i Flask
Trinn 1: Installer biblioteker
Først må du installere bibliotekene flask
og flask-socketio
ved å bruke følgende kommando:
pip install Flask flask-socketio
Trinn 2: Konfigurer applikasjonen
Her er et eksempel på hvordan du integrerer WebSocket i en Flask applikasjon:
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)
I kodebiten ovenfor bruker vi biblioteket flask-socketio
til å lage en WebSocket server. Funksjonen handle_message
kalles når en klient sender en melding, og serveren svarer ved å sende ut en response
hendelse.
Integrering WebSocket i FastAPI
Trinn 1: Installer biblioteker
Installer bibliotekene fastapi
og uvicorn
ved å bruke følgende kommando:
pip install fastapi uvicorn
Trinn 2: Konfigurer applikasjonen
Her er et eksempel på hvordan du integrerer WebSocket i en FastAPI applikasjon:
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}")
I kodebiten ovenfor bruker vi FastAPI til å lage en WebSocket server. Funksjonen websocket_endpoint
aksepterer WebSocket tilkoblinger, lytter etter data sendt av klienter og svarer ved å sende data tilbake til klienten.
Konklusjon
Integrering WebSocket i populære rammeverk som Flask og FastAPI åpner opp muligheter for å lage sanntidsapplikasjoner og toveis kommunikasjon mellom servere og klienter.