WebSockets¶
WebSockets を定義する場合、通常は `WebSocket` 型のパラメータを宣言し、それを使用してクライアントからデータを読み取り、クライアントにデータを送信できます。
これは Starlette によって直接提供されますが、`fastapi` からインポートできます。
from fastapi import WebSocket
ヒント
HTTP と WebSockets の両方と互換性のある依存関係を定義する場合は、`Request` や `WebSocket` の代わりに `HTTPConnection` を受け取るパラメータを定義できます。
fastapi.WebSocket ¶
WebSocket(scope, receive, send)
基底クラス: HTTPConnection
パラメータ | 説明 |
---|---|
スコープ
|
型: |
受信
|
型: |
送信
|
型: |
ソースコードは `starlette/websockets.py` にあります
26 27 28 29 30 31 32 |
|
url_for ¶
url_for(name, /, **path_params)
パラメータ | 説明 |
---|---|
名前
|
型: |
**パス パラメータ
|
型: |
ソースコードはstarlette/requests.py
にあります
177 178 179 180 |
|
receive 非同期
¶
receive()
有効な状態遷移を保証しながら、ASGI WebSocket メッセージを受信します。
ソースコードは `starlette/websockets.py` にあります
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
send 非同期
¶
send(message)
有効な状態遷移を保証しながら、ASGI WebSocket メッセージを送信します。
パラメータ | 説明 |
---|---|
メッセージ
|
型: |
ソースコードは `starlette/websockets.py` にあります
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
|
accept 非同期
¶
accept(subprotocol=None, headers=None)
パラメータ | 説明 |
---|---|
サブプロトコル
|
型: |
ヘッダー
|
型: |
ソースコードは `starlette/websockets.py` にあります
99 100 101 102 103 104 105 106 107 108 109 |
|
receive_text 非同期
¶
receive_text()
ソースコードは `starlette/websockets.py` にあります
115 116 117 118 119 120 |
|
receive_bytes 非同期
¶
receive_bytes()
ソースコードは `starlette/websockets.py` にあります
122 123 124 125 126 127 |
|
receive_json 非同期
¶
receive_json(mode='text')
パラメータ | 説明 |
---|---|
モード
|
型: |
ソースコードは `starlette/websockets.py` にあります
129 130 131 132 133 134 135 136 137 138 139 140 141 |
|
iter_text 非同期
¶
iter_text()
ソースコードは `starlette/websockets.py` にあります
143 144 145 146 147 148 |
|
iter_bytes 非同期
¶
iter_bytes()
ソースコードは `starlette/websockets.py` にあります
150 151 152 153 154 155 |
|
iter_json 非同期
¶
iter_json()
ソースコードは `starlette/websockets.py` にあります
157 158 159 160 161 162 |
|
send_text 非同期
¶
send_text(data)
パラメータ | 説明 |
---|---|
データ
|
型: |
ソースコードは `starlette/websockets.py` にあります
164 165 |
|
send_bytes 非同期
¶
send_bytes(data)
パラメータ | 説明 |
---|---|
データ
|
型: |
ソースコードは `starlette/websockets.py` にあります
167 168 |
|
send_json 非同期
¶
send_json(data, mode='text')
パラメータ | 説明 |
---|---|
データ
|
型: |
モード
|
型: |
ソースコードは `starlette/websockets.py` にあります
170 171 172 173 174 175 176 177 |
|
close 非同期
¶
close(code=1000, reason=None)
パラメータ | 説明 |
---|---|
コード
|
型: |
理由
|
型: |
ソースコードは `starlette/websockets.py` にあります
179 180 |
|
クライアントが切断された場合、`WebSocketDisconnect` 例外が発生します。これをキャッチすることができます。
`fastapi` から直接インポートできます
from fastapi import WebSocketDisconnect
fastapi.WebSocketDisconnect ¶
WebSocketDisconnect(code=1000, reason=None)
基底クラス: Exception
パラメータ | 説明 |
---|---|
コード
|
型: |
理由
|
型: |
ソースコードは `starlette/websockets.py` にあります
20 21 22 |
|
WebSockets - 追加クラス¶
WebSockets を扱うための追加クラス。
Starlette によって直接提供されていますが、`fastapi` からインポートできます
from fastapi.websockets import WebSocketDisconnect, WebSocketState
fastapi.websockets.WebSocketDisconnect ¶
WebSocketDisconnect(code=1000, reason=None)
基底クラス: Exception
パラメータ | 説明 |
---|---|
コード
|
型: |
理由
|
型: |
ソースコードは `starlette/websockets.py` にあります
20 21 22 |
|