WebSocket sunucular ve istemciler arasında çift yönlü gerçek zamanlı iletişim kanalları oluşturmak için güçlü bir teknolojidir. WebSocket Aşağıda, iki popüler çerçeveye nasıl entegre edileceğine ilişkin bir kılavuz bulunmaktadır Flask ve FastAPI.
WebSocket entegre etmek Flask
1. Adım: Kitaplıkları Kurun
Öncelikle, aşağıdaki komutu kullanarak flask
ve kitaplıklarını yüklemeniz gerekir: flask-socketio
pip install Flask flask-socketio
2. Adım: Uygulamayı Kurun
İşte WebSocket bir Flask uygulamaya nasıl entegre edileceğine dair bir örnek:
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)
Yukarıdaki kod parçacığında, flask-socketio
bir sunucu oluşturmak için kitaplığı kullanıyoruz WebSocket. İşlev handle_message
, bir istemci bir mesaj gönderdiğinde çağrılır ve sunucu bir response
olay yayarak yanıt verir.
WebSocket entegre etmek FastAPI
1. Adım: Kitaplıkları Kurun
Aşağıdaki komutu kullanarak fastapi
ve kitaplıklarını kurun: uvicorn
pip install fastapi uvicorn
2. Adım: Uygulamayı Kurun
İşte WebSocket bir FastAPI uygulamaya nasıl entegre edileceğine dair bir örnek:
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}")
Yukarıdaki kod parçacığında, FastAPI bir sunucu oluşturmak için kullanıyoruz WebSocket. İşlev bağlantıları websocket_endpoint
kabul eder WebSocket, istemciler tarafından gönderilen verileri dinler ve verileri istemciye geri göndererek yanıt verir.
Çözüm
WebSocket gibi popüler çerçevelere entegre etmek, Flask gerçek FastAPI zamanlı uygulamalar ve sunucular ile istemciler arasında çift yönlü iletişim oluşturmak için olanaklar sunar.