Встречается на собеседованиях • сегодня

Как имитировать работу Web Socket на HTTP

Имитировать WebSocket на HTTP можно с помощью Long Polling или Server-Sent Events (SSE).

Long Polling:

  1. Клиент отправляет запрос на сервер.
  2. Сервер держит соединение открытым, пока не появится новое сообщение.
  3. После ответа клиент сразу отправляет новый запрос.

Пример (клиентская часть):

javascript
function longPoll() {
  fetch('/updates')
    .then(response => response.json())
    .then(data => {
      console.log('New data:', data);
      longPoll(); // Запускаем следующий запрос
    });
}
longPoll();

Server-Sent Events (SSE):
Более эффективный способ, где сервер отправляет данные в виде потока событий.

Пример:

javascript
const eventSource = new EventSource('/updates');
eventSource.onmessage = (e) => {
  console.log('Update:', e.data);
};

Оба подхода эмулируют двустороннюю связь, но не заменяют WebSocket полностью.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы