Отслеживайте пользователей онлайн в режиме реального времени, чтобы сыграть в викторину для двух игроков - PullRequest
1 голос
/ 05 июля 2011

Я готов создать игру-викторину для двух игроков в режиме реального времени.Для этого мне нужно отслеживать, когда пользователи находятся на странице моей викторины и когда они покидают ее.По сути, мне нужно какое-то лобби, где собираются игроки и где мой сценарий выбирает двух случайных игроков, которые должны встретиться друг с другом в игре.

Поскольку многие игроки переключаются из онлайн в оффлайн за очень короткое времяЯ предпочитаю не использовать классическое «обновление статуса игрока в базе данных, а затем получение с заданным интервалом списка онлайн-игроков».В настоящее время я играю над идеей использования Comet Push и немного изучил PubNub.

Фактическая игра-викторина, я думаю, ее довольно легко решить: использование классической Comet publish () для отправки ответов.и подписаться (), чтобы проверить статус другого пользователя.Но меня беспокоит то, как я могу получить этот конкретный список с онлайн-пользователями?

Я пытался опубликовать () user_id, когда пользователь заходит в лобби, но как мне уведомить всех остальных пользователей, когдаэтот пользователь уходит в оффлайн?Как отобразить в лобби общее количество подключенных пользователей вместе с их именами?

Я впервые сталкиваюсь с Кометой, и ее логика мне не совсем понятна.

Спасибоза вашу помощь!

1 Ответ

1 голос
/ 05 июля 2011

Возможно, вы захотите попробовать Pusher и нашу (я работаю на Pusher) функцию присутствия .Каналы присутствия позволяют легко реализовать функциональность в стиле комнаты / вестибюля и должны соответствовать вашим критериям.

  • Вы получаете первоначальный список пользователей, подписавшихся на канал, когда вы подписались
  • .информируется всякий раз, когда пользователь подписывается (входит) и отписывается (покидает) канал (комнату / лобби)

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

...