Создание интерактивного сайта - PullRequest
4 голосов
/ 11 июня 2010

Я хочу создать интерактивный веб-сайт, используя aspx и ajax, чтобы была возможность создать комнату для игры в шахматы, например, и другие игроки могли бы присоединиться.

У меня есть 2 вопроса:

  1. Интересно, знаете ли вы, как я могу это сделать, когда один игрок нажмет на кнопку и завершит свой ход, другой игрок сможет сделать ход.

После того, как первый игрок закончит свой ход, я поменяю ход, используя базу данных, но смысл в том, как я могу обновить сайт другого игрока, чтобы, когда другой закончит свой ход, ход пришел ко второму игроку?

  1. Когда кто-то создает комнату, а затем закрывает браузер - мне нужно закрыть эту комнату. Должен ли я использовать Session_OnEnd, чтобы закрыть комнату, которую он открыл?

Спасибо!

Ответы [ 2 ]

1 голос
/ 11 июня 2010

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

Есть много способов сделать это. Если бы это был я, у меня была бы таблица базы данных «ходов» или что-то в этом роде, и я бы отслеживал, кто там перемещается. Затем на странице есть SetInterval() метод javascript, который использует сервис ajax для просмотра этой таблицы «перемещений» и определения, когда наступает очередь пользователей.

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

Вы можете использовать Session_OnEnd. В качестве альтернативы вы можете использовать метод ajax, который проверяет таблицу moves, чтобы увидеть, когда пользователь не проверил x минут, а затем закрыть свой сеанс.

0 голосов
/ 11 июня 2010
  1. Самым простым способом, вероятно, является простое сердцебиение / опрос каждого клиента, чтобы определить, настала ли его очередь.Хотя в наши дни пуш / комета становились все проще и проще.

  2. Если вы уже используете технику опроса / сердцебиения, было бы тривиально закрыть сеанс после, скажем,5 пропущенных сердцебиений.

...