Ну, здесь есть два очевидных варианта:
- Comet, он же длинный опрос : запрос AJAX остается открытым сервером, пока не истечет время ожидания через несколько минутили пока не произойдет изменение, в зависимости от того, что произойдет первым.Недостатком этого является то, что обработка многих соединений может быть сложной;кроме всего прочего, вам не понадобится типичная модель «один поток на запрос, обрабатывающая его синхронно», которая является обычной.
- Частые опросы со страницы AJAX, где каждый запрос возвращается быстро.Это, вероятно, будет проще реализовать, но менее эффективно с точки зрения сети (гораздо больше запросов) и будет менее быстрым;Например, вы могли бы отправлять запрос каждые 5 секунд, но если у вас много пользователей, вы получите большой трафик.
Лучшее решениебудет зависеть от того, сколько пользователей у вас есть.Если будет только несколько клиентов, вы, возможно, захотите пойти на «опрос каждые 5 секунд» - или даже возможно длинный опрос с потоком на запрос (хотя это, вероятно, будет немногосложнее в реализации).Если у вас много клиентов, я бы определенно пошел на длительный опрос, но вам нужно посмотреть, как отсоединить поток от соединения в вашей конкретной серверной среде.