Метод send_text
Метод send_text применяется к объекту WebSocket
внутри обработчика WebSocket-маршрута и отправляет
текстовую строку клиенту. Первым параметром передаётся
строка с текстом сообщения. Это асинхронный метод,
поэтому его следует вызывать через await.
Синтаксис
await websocket.send_text(data)
Параметр data - это строка, которую нужно
отправить клиенту.
Пример
Давайте отправим клиенту приветственное текстовое сообщение после установки соединения:
from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket('/ws')
async def ws_endpoint(websocket: WebSocket):
await websocket.accept()
await websocket.send_text('hello')
Клиент получит текстовое сообщение:
"hello"
Пример
Давайте отправим клиенту несколько сообщений подряд в цикле:
from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket('/ws')
async def ws_endpoint(websocket: WebSocket):
await websocket.accept()
for i in range(3):
await websocket.send_text(f'message {i}')
Клиент получит три текстовых сообщения:
"message 0"
"message 1"
"message 2"
Пример
Давайте отправим клиенту текст, полученный от него
же через метод receive_text:
<+python+>
from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket('/ws')
async def ws_endpoint(websocket: WebSocket):
await websocket.accept()
data = await websocket.receive_text()
await websocket.send_text(f'you said: {data}')
<-python+>
Если клиент отправил строку 'abcde', то в ответ
он получит:
"you said: abcde"
Смотрите также
-
класс
WebSocket,
который представляет WebSocket-соединение -
метод
accept,
который принимает входящее WebSocket-соединение -
метод
receive_text,
который принимает текстовое сообщение от клиента -
метод
send_json,
который отправляет JSON-сообщение клиенту