Что такое WebSocket
Двунаправленное соединение браузер-сервер
WebSocket — это протокол связи, обеспечивающий постоянное двунаправленное соединение между клиентом и сервером в реальном времени.
Принцип работы
- Handshake — начальное HTTP-рукопожатие
- Upgrade — переключение на WebSocket-протокол
- Full-duplex — одновременная передача в обе стороны
- Постоянное соединение — без повторных подключений
Преимущества перед HTTP
- Мгновенная доставка сообщений
- Минимальные накладные расходы
- Нет необходимости в polling
- Низкая задержка (latency)
Применение
- Чаты и мессенджеры
- Онлайн-игры
- Биржевые котировки
- Совместное редактирование
- IoT-устройства
Технологии
- Socket.IO (Node.js)
- ws (Node.js native)
- SignalR (.NET)
- Django Channels
Пример
const ws = new WebSocket('wss://api.example.com');
ws.onmessage = (event) => {
console.log(event.data);
};
ws.send('Hello Server!');