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

Метод receive_bytes

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

Синтаксис

await websocket.receive_bytes()

Пример

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

from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket('/ws') async def ws_endpoint(websocket: WebSocket): await websocket.accept() data = await websocket.receive_bytes() await websocket.send_text(f'length: {len(data)}') await websocket.close()

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

"length: 5"

Пример

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

from fastapi import FastAPI, WebSocket app = FastAPI() @app.websocket('/ws') async def ws_endpoint(websocket: WebSocket): await websocket.accept() for _ in range(3): data = await websocket.receive_bytes() await websocket.send_text(f'received: {len(data)}') await websocket.close()

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

"received: 5" "received: 7" "received: 3"

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

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