WebSocket เป็นเทคโนโลยีที่ทรงพลังสำหรับการสร้างช่องทางการสื่อสารแบบเรียลไทม์แบบสองทิศทางระหว่างเซิร์ฟเวอร์และไคลเอนต์ ด้านล่างนี้เป็นคำแนะนำเกี่ยวกับวิธีการรวมเข้า WebSocket กับสองเฟรมเวิร์กยอด นิยม Flask และ FastAPI
บูรณาการ WebSocket เข้า Flask
ขั้นตอนที่ 1: ติดตั้งไลบรารี่
ประการแรก คุณต้องติดตั้ง ไลบรารี flask
และ flask-socketio
โดยใช้คำสั่งต่อไปนี้:
pip install Flask flask-socketio
ขั้นตอนที่ 2: ตั้งค่าแอปพลิเคชัน
ต่อไปนี้คือตัวอย่างวิธีการรวมเข้า WebSocket กับ Flask แอปพลิเคชัน:
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)
ในข้อมูลโค้ดด้านบน เราใช้ flask-socketio
ไลบรารีเพื่อสร้าง WebSocket เซิร์ฟเวอร์ ฟังก์ชัน นี้ handle_message
ถูกเรียกใช้เมื่อไคลเอนต์ส่งข้อความ และเซิร์ฟเวอร์ตอบสนองโดยปล่อย response
เหตุการณ์
บูรณาการ WebSocket เข้า FastAPI
ขั้นตอนที่ 1: ติดตั้งไลบรารี่
ติดตั้ง ไลบรารี fastapi
และ uvicorn
โดยใช้คำสั่งต่อไปนี้:
pip install fastapi uvicorn
ขั้นตอนที่ 2: ตั้งค่าแอปพลิเคชัน
ต่อไปนี้คือตัวอย่างวิธีการรวมเข้า WebSocket กับ FastAPI แอปพลิเคชัน:
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}")
ในข้อมูลโค้ดด้านบน เราใช้ FastAPI เพื่อสร้าง WebSocket เซิร์ฟเวอร์ ฟังก์ชัน websocket_endpoint
ยอมรับ WebSocket การเชื่อมต่อ รับฟังข้อมูลที่ไคลเอนต์ส่งมา และตอบสนองด้วยการส่งข้อมูลกลับไปยังไคลเอนต์
บทสรุป
การผสานรวม WebSocket เข้ากับเฟรมเวิร์กยอดนิยม เช่น Flask การ FastAPI เปิดโอกาสสำหรับการสร้างแอปพลิเคชันแบบเรียลไทม์และการสื่อสารแบบสองทิศทางระหว่างเซิร์ฟเวอร์และไคลเอนต์