Я пишу простое приложение, которое очень похоже на приложение для чата с точки зрения его использования. Хост начинает «комнату», участники могут присоединиться и отправить сообщения в указанную комнату.Эффективность/накладные расходы EventSource против опроса ajax?
Я стараюсь сделать это максимально простым для кодирования. PHP на бэкэнд без каких-либо фантазий.
Моя первая мысль состояла в том, чтобы просто опросить ajax от клиентов, чтобы узнать, опубликовано новое сообщение в комнате. Затем я подумал, что это вызывает безумное количество запросов на сервер (если они крошечные, но все же).
Затем я просмотрел несколько способов HTML5 и нашел EventSource - это кажется правильным в теории, но мне интересно, что под обложками он просто опросил ajax в любом случае.
Тогда есть комета, но для этого также требуется компонент на стороне сервера, который я не очень хочу настроить.
Я думаю, что могу использовать длительный опрос - это лучший подход?
Кроме того, как вы минимизируете запросы db от всех клиентов, запрашивающих новые данные?
, но опрос EventSource каждые 3 секунды по умолчанию. Я знаю, что вы можете изменить это время, но я подумал, что идея с длинным опросом заключается в том, что вы настроили один запрос, и он просто ждет, пока есть данные - как вы это делаете с eventource? –
Нет, EventSource пытается * повторно подключить * каждые 3 секунды. Если вы не закрываете соединение, он сразу же получит обновления. –
Вы имеете в виду постоянно, когда они становятся доступными? есть ли недостатки, чтобы не закрывать это соединение? –