РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
136 of 307 menu

Метод receive_text

Метод receive_text применяется к объекту WebSocket внутри обработчика веб-сокета. Он читает следующее входящее сообщение от клиента и возвращает его в виде строки. Если клиент отправил бинарные данные или JSON, метод всё равно попытается вернуть их как текст. Метод является асинхронным, поэтому вызывается через await.

Синтаксис

await websocket.receive_text()

Пример

Давайте создадим простой эхо-сервер, который принимает текстовое сообщение и отправляет его обратно:

from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket('/ws') async def websocket_endpoint(websocket: WebSocket): await websocket.accept() data = await websocket.receive_text() await websocket.send_text(f'you said: {data}') await websocket.close()

Результат выполнения кода при отправке сообщения 'hello':

"you said: hello"

Пример

Давайте примем несколько сообщений в цикле и обработаем каждое из них:

from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket('/chat') async def chat_endpoint(websocket: WebSocket): await websocket.accept() while True: message = await websocket.receive_text() if message == 'exit': break await websocket.send_text(f'echo: {message}') await websocket.close()

Результат выполнения кода при отправке сообщения 'abcde':

"echo: abcde"

Смотрите также

  • метод send_text,
    который отправляет текстовое сообщение клиенту
  • метод receive_json,
    который принимает JSON-сообщение от клиента
  • метод receive_bytes,
    который принимает бинарное сообщение от клиента
  • класс WebSocket,
    который представляет веб-сокет соединение в FastAPI
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить