Метод accept
Метод accept применяется к объекту
WebSocket и подтверждает установку
соединения между клиентом и сервером.
Без вызова этого метода соединение
не будет считаться установленным, и клиент
не сможет обмениваться сообщениями.
Метод является асинхронным, поэтому
вызывается через await.
Первым необязательным параметром можно
передать подпротокол, вторым - заголовки
ответа.
Синтаксис
await websocket.accept(subprotocol=None, headers=None)
Пример
Давайте создадим простое WebSocket-соединение
и примем его на адресе '/ws':
from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket('/ws')
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
await websocket.send_text('hello')
await websocket.close()
После подключения клиента по адресу /ws
сервер примет соединение и отправит строку:
"hello"
Пример
Давайте примем соединение и вернём клиенту полученное сообщение:
from fastapi import FastAPI, WebSocket
app = FastAPI()
@app.websocket('/echo')
async def websocket_endpoint(websocket: WebSocket):
await websocket.accept()
data = await websocket.receive_text()
await websocket.send_text(data)
await websocket.close()
Если клиент отправит строку 'abcde',
то в ответ он получит:
"abcde"
Смотрите также
-
класс
WebSocket,
который представляет WebSocket-соединение -
метод
close,
который закрывает WebSocket-соединение -
метод
receive_text,
который принимает текстовое сообщение -
метод
send_text,
который отправляет текстовое сообщение