pybotters.WebSocketApp¶
- class pybotters.WebSocketApp(session: ClientSession, url: str, *, send_str: str | list[str] | None = None, send_bytes: bytes | list[bytes] | None = None, send_json: dict | list[dict] | None = None, hdlr_str: Callable[[str, ClientWebSocketResponse], None] | list[Callable[[str, ClientWebSocketResponse], None]] | None = None, hdlr_bytes: Callable[[bytes, ClientWebSocketResponse], None] | list[Callable[[bytes, ClientWebSocketResponse], None]] | None = None, hdlr_json: Callable[[Any, ClientWebSocketResponse], None] | list[Callable[[Any, ClientWebSocketResponse], None]] | None = None, backoff: tuple[float, float, float, float] = (1.92, 60.0, 1.618, 5.0), **kwargs: Any)¶
WebSocket Application.
自動再接続、自動認証、自動 PING/PONG を備えた WebSocket アプリケーションです。
Usage example: WebSocketQueue
Methods
__init__
(session, url, *[, send_str, ...])WebSocket Application.
heartbeat
([timeout])Ensure WebSocket connection is open with Ping-Pong.
wait
()Wait WebSocketApp.
Attributes
Current WebSocket connection.
WebSocket URL.
- property current_ws: ClientWebSocketResponse | None¶
Current WebSocket connection.
現在の WebSocket コネクションです。 現在のコネクションが存在する場合は ClientWebSocketResponse を返します。 コネクションが存在しない場合は None を返します。
- async heartbeat(timeout: float = 10.0) None ¶
Ensure WebSocket connection is open with Ping-Pong.
WebSocket の Ping-Pong で接続の疎通を確認します。 ユーザーコード内で WebSocket のデータを利用する前にこのコルーチンを待機することで、 WebSocket の接続性を保証するのに役に立ちます。
一定時間 Pong が返ってこない場合は再接続を試みます。 このメソッドは疎通が確認されるまで待機します。
- パラメータ:
timeout -- WebSocket Ping-Pong ハートビート (デフォルト 10.0 秒)
- property url: str¶
WebSocket URL.
WebSocket の接続 URL です。 接続中に値を変更した場合は、再接続時に設定 URL に接続されます。
- async wait() None ¶
Wait WebSocketApp.
WebSocketApp の待機を待ちます。 ただし WebSocketApp は自動再接続の機構を備えるので、実質的に無限待機です。 プログラムの終了を防ぐのに役に立ちます。