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 ਸਰਵਰਾਂ ਅਤੇ ਗਾਹਕਾਂ ਵਿਚਕਾਰ ਰੀਅਲ-ਟਾਈਮ ਐਪਲੀਕੇਸ਼ਨਾਂ ਅਤੇ ਦੁਵੱਲੇ ਸੰਚਾਰ ਬਣਾਉਣ ਦੀਆਂ ਸੰਭਾਵਨਾਵਾਂ ਨੂੰ ਖੋਲ੍ਹਦਾ ਹੈ।