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

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

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

Регистрация: Oct 2010
Сообщений: 53
По умолчанию Ошибки при работе серверных часов

Здравствуйте. Файл php генерирует время (Часы, минуты, секунды) и передает эти числа в flash. Flash, в свою очередь, принимает их, и добавляет по одной секунде, что дает возможность часам идти. Но возникли следующие проблемы, помогите пожалуйста их решить:

1. Когда часы доходят доходят до 00:00:00 они перестают идти
2. Включил одновременно у себя и у друга на ноутбуках,сначала часы шли без опозданий, но где-то через 5 мин, заменил, что часы у друга стали отставать где-то на минуту, где недопустима потеря даже 1 секунды.

Код AS3:
var Hours: Number=e.target.data.hours;        //полученные из файла php часы
var Minutes: Number=e.target.data.minutes;  //полученные из файла php минуты
var Seconds: Number=e.target.data.seconds;//полученные из файла php секунды
 
function xTIMER() {
   if ((Seconds > 0) || (Minutes > 0) || (Hours > 0)) {
       Seconds++;
          if (Seconds == 60) {
             Minutes++;
             Seconds = 00;
                 if (Minutes == 60) {
                Hours++;
                Minutes = 00;
               Seconds = 00;
         }
      }
      if (Seconds <= 9) {
         var SS:String = "0" + Seconds;
} 
else {
         var SS:String = "" + Seconds;
       }
 if (Minutes <= 9) {
         var MM:String = "0" + Minutes;
      }
else {
         var MM:String = "" + Minutes;
      }
if (Hours <= 9) {
         var HH:String = "0" + Hours;
      } 
else {
         var HH:String = "" + Hours;
      }
      TIMER_TEXT.text = HH + ":" +  MM + ":" + SS;
 
   }
}
setInterval(xTIMER, 1000);

Старый 16.11.2010, 20:13
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 2  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
я боюсь в таком ключе не видать вам синхронности. вам постоянно нужно сверять свое время с временем сервера
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 16.11.2010, 20:34
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 3  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
Цитата:
Сообщение от cleptoman Посмотреть сообщение
я боюсь в таком ключе не видать вам синхронности. вам постоянно нужно сверять свое время с временем сервера
Подскажите пожалуйста как это сделать?

Старый 16.11.2010, 22:21
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 4  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
с интервалом времени запрашивать новое значение времени, чтоб синхронизировать более-менее клиенты

применительно к играм больше подходит сокет.
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 16.11.2010, 22:37
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 5  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
Цитата:
Сообщение от cleptoman Посмотреть сообщение
с интервалом времени запрашивать новое значение времени, чтоб синхронизировать более-менее клиенты

применительно к играм больше подходит сокет.
А что такое сокет?

Старый 16.11.2010, 22:38
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
http://ru.wikipedia.org/wiki/Сокет_(...мный_интерфейс)
__________________
тут я

Старый 16.11.2010, 22:48
linnard вне форума Посмотреть профиль Отправить личное сообщение для linnard Найти все сообщения от linnard
  № 7  
Ответить с цитированием
linnard

Регистрация: Oct 2010
Сообщений: 53
Читал про сокет, но к сожалению так и не понял как реализовать с помощью него часы...

Старый 16.11.2010, 22:52
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 8  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
linnard, дальнейший отсчет времени основывайте на времени компьютера. Date#time в помощь. А не по интервалу.

Старый 16.11.2010, 22:55
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 9  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
udaaff, но это не решает проблему синхронизации времени на 2 разных клиентах )
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

Старый 16.11.2010, 23:01
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 10  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
А речь о синхронизации клиентов шла? По-моему речь шла о том, чтобы часы нормально работали.

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

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

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


 


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


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