Endpoint-uri WebSocket cu @app.websocket în FastAPI

websockets FastAPI 0.110+ / WebSockets Q&A / Distribuie cod

Inițierea conexiunilor bidirecționale în timp real: acceptarea handshake-ului HTTP Upgrade și menținerea canalului deschis.

Sintaxă
@app.websocket("/ws/{client_id}") async def ws_endpoint(websocket: WebSocket):

Spre deosebire de cererile HTTP standard (unde clientul solicită date și serverul răspunde o singură dată), protocolul WebSocket stabilește o conexiune persistentă, bidirecțională și duplex completă între client și server pe un singur socket TCP.

FastAPI suportă nativ WebSockets prin decoratorul @app.websocket("/ruta"). Primul pas obligatoriu este apelarea metodei await websocket.accept() pentru a finaliza negocierea de protocol (Handshake).

Exemplu: Endpoint WebSocket de bază cu acceptare conexiune
from fastapi import FastAPI, WebSocket

app = FastAPI()

@app.websocket("/ws")
async def websocket_endpoint(websocket: WebSocket):
    await websocket.accept() # Confirmăm handshake-ul
    await websocket.send_text("Conexiune WebSocket stabilită cu succes!")
    await websocket.close()

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Endpoint-uri WebSocket cu @app.websocket

Ai o nelămurire despre utilizarea comenzii Endpoint-uri WebSocket cu @app.websocket sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.