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

Как сделать двустороннее взаимодействие без WebSocket

Для двустороннего взаимодействия без WebSocket можно использовать:

  1. Long Polling - сервер держит соединение открытым, пока не появится новое сообщение:
js
function longPoll() {
  fetch('/updates')
    .then(response => response.json())
    .then(data => {
      // Обработка данных
      longPoll(); // Повторный запрос
    });
}
  1. Server-Sent Events (SSE) - односторонний поток от сервера, но можно комбинировать с обычными запросами:
js
const eventSource = new EventSource('/updates');
eventSource.onmessage = (e) => {
  console.log(e.data);
};
  1. Polling - периодические запросы:
js
setInterval(() => {
  fetch('/check-updates')
    .then(/* ... */);
}, 5000);
  1. HTTP/2 Server Push - сервер может инициировать отправку данных.

Для полноценного двустороннего обмена лучше комбинировать SSE для сервер->клиент и обычные AJAX/Fetch для клиент->сервер.

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

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

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

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