You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.8 KiB

WebSockets

Bei der Definition von WebSockets deklarieren Sie normalerweise einen Parameter vom Typ WebSocket und können damit Daten vom Client lesen und an ihn senden. Er wird direkt von Starlette bereitgestellt, Sie können ihn aber von fastapi importieren:

from fastapi import WebSocket

!!! tip "Tipp" Wenn Sie Abhängigkeiten definieren möchten, die sowohl mit HTTP als auch mit WebSockets kompatibel sein sollen, können Sie einen Parameter definieren, der eine HTTPConnection anstelle eines Request oder eines WebSocket akzeptiert.

::: fastapi.WebSocket options: members: - scope - app - url - base_url - headers - query_params - path_params - cookies - client - state - url_for - client_state - application_state - receive - send - accept - receive_text - receive_bytes - receive_json - iter_text - iter_bytes - iter_json - send_text - send_bytes - send_json - close

Wenn ein Client die Verbindung trennt, wird eine WebSocketDisconnect-Exception ausgelöst, die Sie abfangen können.

Sie können diese direkt von fastapi importieren:

from fastapi import WebSocketDisconnect

::: fastapi.WebSocketDisconnect

WebSockets – zusätzliche Klassen

Zusätzliche Klassen für die Handhabung von WebSockets.

Werden direkt von Starlette bereitgestellt, Sie können sie jedoch von fastapi importieren:

from fastapi.websockets import WebSocketDisconnect, WebSocketState

::: fastapi.websockets.WebSocketDisconnect

::: fastapi.websockets.WebSocketState