Как работает websocket
Python
Middle
Без компании
Как работает websocket
Ответы
WebSocket — это протокол для двустороннего обмена сообщениями между клиентом и сервером поверх одного TCP-соединения. В отличие от HTTP, он сохраняет соединение открытым, позволяя передавать данные в реальном времени без постоянных запросов.
**Как работает:**
- **Handshake**: Клиент отправляет HTTP-запрос с заголовком `Upgrade: websocket`. Если сервер поддерживает WebSocket, он отвечает `101 Switching Protocols`.
- **Обмен данными**: После установки соединения клиент и сервер могут отправлять сообщения в любом направлении в формате фреймов (текст/бинарные данные).
- **Закрытие**: Любая сторона может инициировать разрыв соединения.
**Пример (клиентская часть, Python):**
```
import websockets
import asyncio
async def listen():
async with websockets.connect('ws://example.com/socket') as ws:
await ws.send("Hello, Server!")
response = await ws.recv()
print(response)
asyncio.get_event_loop().run_until_complete(listen())
```
**Ключевые особенности:**
- Низкие задержки
- Эффективен для чатов, уведомлений, онлайн-игр
- Поддерживается большинством современных браузеров и серверов