Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.01.2010, 19:03
Oli Short вне форума Посмотреть профиль Отправить личное сообщение для Oli Short Найти все сообщения от Oli Short
  № 1  
Ответить с цитированием
Oli Short

Регистрация: Aug 2009
Сообщений: 38
По умолчанию Класс Data, работа с серверным временем

Здравствуйте. Пишу приложение - аукцион, но не суть
Есть таймер, таймер показывает сколько осталось до окончания аукциона. Для правильной работы у всех пользователей таймер должен выдавать одинаковое по ходу работы значение окончания аукциона, т.е опираться на время системы пользователя будет грубой ошибкой. Тем самым хочу брать серверное время(парсить при помощи xml). Вот написал простой код работы...

Код AS3:
//ставим дату до 1го января, 2011года т.е дата окончания аукциона
var importantDate:Date = new Date(2011, 0, 1, 00, 00, 00);
var importantDateDif:Number = importantDate.valueOf();
 
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, updateClock);
timer.start();
 
function updateClock(e:TimerEvent):void
{
  //сюда хочу подставлять получение время сервера
  var currentDate:Date = new Date();
  var currentDateDif:Number = currentDate.valueOf();
 
  var dif:Number = importantDateDif - currentDateDif;
 
 
}
т.е мне получается придется каждую секунду связываться с сервером чтобы координировать время? трафик черт с ним, просто будет ли это правильно или можно найти более легкий вариант? спасибо!


Последний раз редактировалось Oli Short; 04.01.2010 в 19:06. Причина: грамотическая ошибка
Старый 04.01.2010, 19:29
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
можно сверятся с сервером и реже... сделать синхронизацию 1 раз (и в это же время засечь, какое время было на машине пользователья), и дальше уже считать используя Date или getTimer() (по некоторым данным - не самый точный инструмент).
Но, я думаю, что лучше все-таки не доверять пользователю в этом отношении, а ориентироваться только на серверное время.
__________________
Hell is the possibility of sanity

Старый 05.01.2010, 21:15
Oli Short вне форума Посмотреть профиль Отправить личное сообщение для Oli Short Найти все сообщения от Oli Short
  № 3  
Ответить с цитированием
Oli Short

Регистрация: Aug 2009
Сообщений: 38
Код AS3:
setInterval(getServerDate, 1000);
 
function getServerDate():void{
var xmlLoader:URLLoader = new URLLoader(new URLRequest("http://test1.ru/auction/serverDate.php?random="+Math.random()));
xmlLoader.addEventListener(Event.COMPLETE, viewServerDate);
}
 
function viewServerDate(e:Event):void
{
var XMLData = XML(e.target.data);		  
xml.text = String(XMLData);
}
походу придется сразу делать синхронизацию и плесать) т.к получаются временные пробелы...

00:10
00:09
00:06
00:04
00:01

не айс)

Старый 06.01.2010, 00:58
kei вне форума Посмотреть профиль Отправить личное сообщение для kei Найти все сообщения от kei
  № 4  
Ответить с цитированием
kei

Регистрация: Jul 2009
Сообщений: 19
А зачем каждую скунду сверять? Пользоваель зашел - флэшка получила ремя, секуд за 5-7 до конца перепроверила на новые ставки... и все. В остальное время пусть рандомно перепроверяет (чтоб не грузить сервак).

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:50.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:50.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.