Мы разрабатываем браузерную социальную игру, и это игра MMORPG . Мы используем html / javascript / css в качестве внешнего интерфейса (по сравнению с flash). когда пользователь загружает нашу игру в первый раз, будет загружена куча файлов (внешние js / css) и будет запрошено несколько вызовов ajax. Вся страница не будет загружена снова, если пользователь не обновит страницу вручную. И мы создаем объект js для хранения пользовательских данных, таких как наличные деньги, уровень и многое другое. И это может быть изменено во время следующих операций пользователя. поэтому нам нужно синхронизировать данные из бэкэнда. Особая проблема - Данные пользователя также могут пассивно обновляться (другими пользователями) , это может произойти в бою других пользователей. поэтому у меня вопрос как и когда синхронизировать?
До сих пор мы проходили два этапа: 1) всякий раз, когда пользователь нажимает на вкладки (чтобы показать / скрыть div в html) или возможные операции (например, бороться / купить что-то), затем мы вызываем запрос ajax, чтобы получить свежие данные из база данных каждый раз. 2) аналогично 1), но мы просто добавляем прокси, чтобы указать, изменены данные пользователя или нет, чтобы уменьшить бесполезный запрос к базе данных. Сначала вызов ajax переходит к прокси.
для 1) у нас может быть 70% + бесполезных вызовов ajax и запросов к базе данных
для 2) у нас может быть 70% + бесполезных вызовов ajax
Теперь мы используем 2) подход. Но я не думаю, что это лучшее решение, так как у нас все еще 70% бесполезных вызовов ajax. есть ли лучшее решение для этого варианта использования?
объяснения
бесполезный вызов ajax: поскольку интервал между 2 вызовами ajax, пользовательские данные могут вообще не изменяться.