Back to questions
Middle
3
Есть ли опыт работы с WebSocket и long polling?
Companies where asked
Элара
Answer from AI
sobes.tech AI
Да, есть опыт работы с WebSocket и long polling.
WebSocket — это протокол, который устанавливает постоянное двунаправленное соединение между клиентом и сервером. Это позволяет серверу отправлять данные клиенту в режиме реального времени без необходимости постоянных запросов со стороны клиента.
Long polling — это техника, при которой клиент отправляет запрос к серверу, и сервер держит этот запрос открытым до тех пор, пока не появятся новые данные или не истечёт таймаут. После получения ответа клиент сразу же отправляет новый запрос, обеспечивая почти непрерывное обновление.
Пример использования WebSocket на JavaScript:
const socket = new WebSocket('wss://example.com/socket');
socket.onopen = () => {
console.log('Соединение установлено');
socket.send('Привет сервер!');
};
socket.onmessage = (event) => {
console.log('Получено сообщение:', event.data);
};
socket.onclose = () => {
console.log('Соединение закрыто');
};
Long polling пример (упрощённый):
function longPoll() {
fetch('/long-poll-endpoint')
.then(response => response.json())
.then(data => {
console.log('Получены данные:', data);
longPoll(); // сразу новый запрос
})
.catch(() => {
setTimeout(longPoll, 5000); // повтор через 5 секунд при ошибке
});
}
longPoll();