Лучший способ реализовать обновления интерфейса в реальном времени, такие как уведомление "нового ответа" SO?

Каков предложенный шаблон для предоставления обновлений пользовательского интерфейса реального времени в веб-приложении? Например, отвечая на вопрос о SO, а другой пользователь отправляет ответ, и появляется приглашение. Кроме того, если каждая страница вашего сайта предоставляет эту функцию, как вы можете избежать перегрузки сервера слишком большим количеством вызовов AJAX?

2 ответа

Просто запустите таймер и опросите сервер через XmlHttpRequest. Это не так, как вам нужны мгновенные обновления; AFAIK, SO опроса на 30-секундном интервале, но это слишком медленно для меня, поэтому я собрал Greasemonkey script для проверки каждые 15 секунд.


Я думаю, что использование кометы для этого будет одним из подходов. (Comet Info здесь и здесь)

С кометами вы можете нажать ответ или любую информацию, имеющуюся у вас на сервере, когда у вас есть информация, поэтому вы не будете запрашивать информацию у клиента каждые X раз.

Но как недостаток, как, tvanfosson и Josh, заставляют меня заметить, что он будет блокировать HTTP-соединение в состоянии чтения клиента в течение длительных периодов.

licensed under cc by-sa 3.0 with attribution.