WebSocket adalah teknologi yang kuat untuk membangun saluran komunikasi real-time dua arah antara server dan klien. Di bawah ini adalah panduan tentang cara mengintegrasikan WebSocket ke dalam dua kerangka kerja populer, Flask dan FastAPI.
Mengintegrasikan WebSocket ke dalam Flask
Langkah 1: Instal Perpustakaan
Pertama, Anda perlu menginstal flask
dan flask-socketio
perpustakaan menggunakan perintah berikut:
pip install Flask flask-socketio
Langkah 2: Siapkan Aplikasi
Berikut ini contoh cara mengintegrasikan 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)
Pada potongan kode di atas, kita menggunakan flask-socketio
library untuk membuat WebSocket server. Fungsi handle_message
dipanggil ketika klien mengirim pesan, dan server merespons dengan memancarkan suatu response
peristiwa.
Mengintegrasikan WebSocket ke dalam FastAPI
Langkah 1: Instal Perpustakaan
Instal fastapi
dan uvicorn
perpustakaan menggunakan perintah berikut:
pip install fastapi uvicorn
Langkah 2: Siapkan Aplikasi
Berikut ini contoh cara mengintegrasikan 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}")
Pada potongan kode diatas kita gunakan FastAPI untuk membuat WebSocket server. Fungsi websocket_endpoint
menerima WebSocket koneksi, mendengarkan data yang dikirim oleh klien, dan merespons dengan mengirimkan data kembali ke klien.
Kesimpulan
Mengintegrasikan WebSocket ke dalam kerangka kerja populer seperti Flask dan FastAPI membuka kemungkinan untuk membuat aplikasi waktu nyata dan komunikasi dua arah antara server dan klien.