WebSocket в JavaScript
НАВИГАЦИЯ ПО СТРАНИЦЕ
WebSocket — это протокол, обеспечивающий полнодуплексное (bidirectional) соединение между веб-браузером клиента и сервером. Он предоставляет возможность более эффективного обмена данными в реальном времени, по сравнению с традиционными HTTP-запросами.
Преимущества WebSocket
Низкая задержка: WebSocket уменьшает задержку (latency) по сравнению с HTTP, так как устанавливает постоянное соединение между клиентом и сервером.
Полнодуплексный обмен данными: WebSocket позволяет как клиенту, так и серверу отправлять данные в любое время без необходимости ожидания запроса от другой стороны.
Экономия ресурсов: В отличие от HTTP, который требует установки нового соединения для каждого запроса, WebSocket использует одно постоянное соединение, что уменьшает нагрузку на сервер и сеть.
Пример использования WebSocket на стороне сервера (Node.js)
const WebSocket = require('ws');
const wss = new WebSocket.Server({ port: 8080 });
wss.on('connection', ws => {
console.log('Client connected');
ws.on('message', message => {
console.log(`Received message: ${message}`);
ws.send('Server received your message: ' + message);
});
ws.on('close', () => {
console.log('Client disconnected');
});
});
Пример использования WebSocket на стороне клиента (веб-браузер)
const ws = new WebSocket('ws://localhost:8080');
ws.onopen = () => {
console.log('Connected to server');
ws.send('Hello from client');
};
ws.onmessage = event => {
console.log('Received message from server:', event.data);
};
ws.onclose = () => {
console.log('Connection closed');
};
WebSocket представляет собой мощную технологию для обмена данными в реальном времени между клиентом и сервером. Он обеспечивает низкую задержку, полнодуплексный обмен данными и экономию ресурсов, что делает его идеальным выбором для разработки приложений, которым требуется быстрое и эффективное взаимодействие между клиентом и сервером.