Как работает 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()) ``` **Ключевые особенности:** - Низкие задержки - Эффективен для чатов, уведомлений, онлайн-игр - Поддерживается большинством современных браузеров и серверов