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.