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 إمكانيات إنشاء تطبيقات في الوقت الفعلي واتصالات ثنائية الاتجاه بين الخوادم والعملاء.