Ответ
Для синхронной передачи данных в веб-приложениях чаще всего используется WebSocket (протокол ws:// или wss://).
Почему WebSocket, а не HTTP?
- HTTP — изначально запрос-ответ, полудуплексный. Для эмуляции синхронности требуются поллиннг или long-polling, что неэффективно.
- WebSocket — устанавливает постоянное полнодуплексное соединение, позволяя серверу отправлять данные клиенту в реальном времени без запроса.
Пример установки соединения и получения данных:
// Клиентская часть (браузер)
const socket = new WebSocket('wss://example.com/ws');
socket.onopen = () => {
console.log('Соединение установлено');
};
socket.onmessage = (event) => {
// Данные приходят синхронно, как только сервер их отправит
console.log('Получены данные:', event.data);
};
Ключевые особенности:
- Низкая задержка (latency).
- Эффективная двусторонняя связь.
- Используется для чатов, биржевых тикеров, онлайн-игр.