WebSocket API
WebSocket
WebSocket connection.
Constructor
WebSocket(scope: dict[str, Any], receive: Any, send: Any, manager: Any = None)
Properties
path_params— Path parametersstate— Connection state (CONNECTING,CONNECTED,CLOSING,CLOSED)accepted— Whether acceptedclosed— Whether closed
Methods
accept
async def accept(subprotocol: str | None = None, headers: list[tuple[bytes, bytes]] | None = None) -> None
receive
async def receive() -> dict[str, Any]
receive_text
async def receive_text() -> str
receive_bytes
async def receive_bytes() -> bytes
receive_json
async def receive_json() -> Any
send_text
async def send_text(value: str) -> None
send_bytes
async def send_bytes(value: bytes) -> None
send_json
async def send_json(value: Any) -> None
close
async def close(code: int = 1000, reason: str = "") -> None
join
async def join(room: str) -> None
leave
async def leave(room: str) -> None
broadcast_json
async def broadcast_json(room: str, value: Any) -> None
broadcast_text
async def broadcast_text(room: str, value: str) -> None
iter_json
def iter_json(self) -> AsyncIterator[Any]
iter_text
def iter_text(self) -> AsyncIterator[str]
WebSocketManager
WebSocket connection manager.
Methods
async join(room, socket)— Add connection to roomasync leave(room, socket)— Remove connection from roomasync leave_all(socket)— Remove from all roomsasync broadcast_text(room, message)— Broadcast textasync broadcast_json(room, data)— Broadcast JSONasync broadcast_bytes(room, data)— Broadcast bytesget_room_size(room)— Get number of connectionsget_rooms()— Get all room namesget_connection_rooms(socket)— Get rooms a connection is inclear()— Clear all rooms and connections
WebSocketDisconnect
WebSocket disconnect exception.
WebSocketDisconnect(code: int = 1000, reason: str = "")
Attributes
code— Close codereason— Close reason
Close Codes
1000 Normal, 1001 Going away, 1011 Internal error