Согласование таймера в приложениях нескольких пользователей

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
ktibo
Сообщения: 38
Зарегистрирован: 15 авг 2011, 10:58

Согласование таймера в приложениях нескольких пользователей

Сообщение ktibo »

Взять, к примеру, приложение типа "Крокодил": в одной комнате играют одновременно несколько человек и в ней тикает общий для всех таймер.

По идее, у каждого пользователя независимо от других срабатывает событие TimerEvent.TIMER каждую секунду и счетчик меняется.

НО если при игре нагружать чем-нибудь проц, открывать другие вкладки, то таймер начинает работать медленнее и "отставать" от других.

Вопрос: как с этим бороться? Пришло на ум периодически спрашивать у сервера время и корректировать счетчик, но может есть способы попроще?
Alazaur
Разработчик
Разработчик
Сообщения: 1001
Зарегистрирован: 16 окт 2011, 20:25

Re: Согласование таймера в приложениях нескольких пользователей

Сообщение Alazaur »

В зависимости от ситуации. Если перевод таймера пользователем будет ему читом или критической ошибкой в работе приложения, то либо тикать на сервере, либо долбить вконтакт методом getServerTime.
А если таймер имеет декоративное направление, то можно сохранять текущее время и при тиках таймера сверять с Date сколько реально прошло времени.
ktibo
Сообщения: 38
Зарегистрирован: 15 авг 2011, 10:58

Re: Согласование таймера в приложениях нескольких пользователей

Сообщение ktibo »

Ну да, пожалуй, придется пользоваться getServerTime, спасибо.
Ответить