Как реализовать long polling?

Junior
535 просмотров
AFK Offer AI

Long polling — техника, при которой клиент отправляет HTTP-запрос, а сервер не отвечает сразу, а держит соединение открытым, пока не появятся новые данные или не истечёт таймаут. Когда ответ пришёл, клиент тут же отправляет новый запрос. В Go реализуется просто: в хендлере ждёшь на канале или таймере через select { case data := <-ch: respond(data); case <-time.After(30*time.Second): respond(empty) }. Это самый простой способ получить real-time обновления без WebSocket. Минус — каждый "цикл" создаёт новый HTTP-запрос.

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

Что такое DDD?