Внедрение системы прямого голосования - PullRequest
9 голосов
/ 07 января 2011

Я смотрю на внедрение системы реального голосования на моем веб-сайте . Сайт предоставляет прямую трансляцию, и я бы хотел, чтобы зрители могли выбрать ответ во время голосования, инициированного заклинателем. Я могу понять, как хранить данные в базе данных MySQL и как обрабатывать ответы. Тем не менее:

Как бы я сначала начал голосование на стороне клиента и отобразил бы его? Должен ли скрипт запускаться каждые несколько секунд на странице, проверяя другую страницу, чтобы узнать, доступен ли вопрос для пользователя?

Существуют ли какие-либо примеры системы опроса в реальном времени, такие как то, что я собираюсь реализовать?

Ответы [ 3 ]

4 голосов
/ 07 января 2011

Вам придется запрашивать у сервера новый вопрос каждые несколько секунд.

Альтернативой является сохранение соединения открытым до тех пор, пока сервер не отправит больше данных или не истечет время ожидания, что просто уменьшает (но не устраняет) попадания сервера. Я думаю, что это называется "длинный опрос". http://en.wikipedia.org/wiki/Push_technology

1 голос
/ 07 января 2011

Вам нужно будет установить соединение со стороны клиента. Самое простое решение - сделать так, чтобы страница делала AJAX-запрос каждую секунду или около того. Веб-страницы не должны возвращаться немедленно (они могут занять 30 секунд или более, прежде чем отвечать без истечения времени ожидания соединения). Открытие одного соединения, которое не отвечает, пока ему нечего сказать, является «длинным опросом».

1 голос
/ 07 января 2011

Вы можете использовать setTimeout в JavaScript для отправки запросов AJAX каждые несколько секунд, чтобы проверить, есть ли новые вопросы.

Да, длинный опрос может быть лучше, но яконечно, это немного сложнее.Так что, если вы готовы к работе, используйте ее!

Вот еще немного информации по теме: http://www.webdevelopmentbits.com/avoiding-long-polling

...