Основанная на повороте веб-игра в PHP - проблема связи

Я работаю над основанной на повороте веб-игрой в PHP5.

Это - довольно простая игра, своего рода настольная игра: два человека присоединяются к "сессии", и они играют до одного из них победы.

Моя проблема в ореховой скорлупе:

  • Пользователь A и Пользователь B играют в игру.

  • Пользователь законченный его очередь

  • Запрос будет отправлен к серверу для выполнения необходимых операций.
  • Теперь пора Пользователю B переместиться..

Но как я мог уведомить Пользователя B об этом?

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

Я знаю, что это могло быть реализовано с помощью некоторого периодического вызова Ajax, который проверяет, закончил ли противник свою очередь и т.д., но такая вещь генерирует огромное количество запросов.

Нет ли лучший способ решить это?

Я думаю о чем-то вроде этого:

  • Концы поворота пользователя A
  • Сервер сохраняет его счет
  • Сервер связывается с Пользователем B.
  • Очередь пользователя B начинает.

Является этим возможным использованием PHP и запросы стиля кометы так или иначе? Или есть ли лучший способ сделать это?

Любая справка ценилась бы!

Заранее спасибо!

1
задан Tommy 14 August 2010 в 18:44
поделиться

1 ответ

База данных текущих игр / ходов в памяти, и одна проверка от пользователя B каждые 1,5 секунды или около того, на самом деле не будет генерировать огромное количество запросов или нагрузку на сервер.

У вас даже может быть такая схема опроса, как 7, 5, 3, 2, 1, 1 и так далее, в зависимости от того, что подходит вашей игре.

Вы даже можете полностью исключить PHP, если вы просто коснетесь файла сеанса всякий раз, когда будет выполнено чередование, и проверите последнюю измененную клиентскую сторону.

2
ответ дан 2 September 2019 в 22:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: