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 સર્વર્સ અને ક્લાયન્ટ્સ વચ્ચે રીઅલ-ટાઇમ એપ્લિકેશન્સ અને દ્વિદિશ સંચાર બનાવવા માટેની શક્યતાઓ ખોલે છે.