![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 38
|
Здравствуйте!
Имеется код, код понятен ! var count:Number = 60; var myTimer:Timer = new Timer(1000,count); myTimer.addEventListener(TimerEvent.TIMER, countdown); myTimer.start(); function countdown(event:TimerEvent):void { myText_txt.text = String((count)-myTimer.currentCount); } Отталкиваться буду от серверного времени (time()), как достать значение и передать во флеш тоже знаю. Ведь для правильной-логической работы таймера у всех пользователей отсчет времени должен быть одинаков, т.е не +3 секунды у одного, -2 секунды у другого. Тут встал вопрос... загрузка приложения у всех будет по разному, разумеется чтобы достать значение уйдет время, боюсь что таймер у всех будет запаздывать по разному. моя реализация... загружать время сервера с сервера(A), так же загружать время окончания тендера(B). потом учитывать разность ... B-A надеюсь понятно объяснил. Спасибо! Последний раз редактировалось Oli Short; 19.11.2009 в 16:07. |
|
|||||
|
Banned
Регистрация: Jun 2009
Сообщений: 298
|
в чем суть топика ?
PS "Приложение по типу аукциона" не делаются на флашь |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 38
|
загвостка
Цитата:
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Цитата:
package { /** * Синхронизация с серверным таймером * @author k0t0vich */ public class SynchroTimer { private var delta:int; private var answerTime:int; private var syncTime:int; private var savedTime:int; /** * обработчик данных от сервера - начальное время * @param serverTime */ public function onStartTime(serverTime:int) { syncTime = serverTime; savedTime = getTimer(); } /** * обработчик данных от сервера - текущее время * @param serverTime */ public function onServerTime(serverTime:int):void { delta = (serverTime-answerTime)/2; syncTime = serverTime + delta; savedTime = getTimer(); } /** * Текущее синхронизированное время */ public function get time():int { var ret:int = getTimer() - savedTime + syncTime; return ret; } public function getServerTime():void { answerTime = time; ///// послыаем запрос на сервер //.. } public function getSatrtServerTime():void { answerTime = getTimer(); ///// послыаем запрос на сервер //.. } } }
__________________
Отряд Котовскага Последний раз редактировалось Котяра; 20.11.2009 в 10:47. |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 38
|
|
|
|||||
|
буду краток
модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
|
Ну на такие тесты полагаться не стоит. Реальные задержки (особенно при передаче и подготовке данных на сервере) могут составлять до 5 секунд. Хотя это тоже зависит от сервера.
__________________
Отряд Котовскага |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|