Как получить серверное время во flex - PullRequest
0 голосов
/ 10 июня 2010

Я хочу отобразить цифровые часы в моем проекте, которые должны отображать время сервера.

Ответы [ 2 ]

0 голосов
/ 10 июня 2010
  • После инициализации загрузите время с сервера, используя URLLoader.Скрипт сервера может передавать текущее время в UTC или миллисекундах, прошедших с начала эпохи Linux;добавьте секунду или две к полученному значению, если вы хотите учесть задержку поездки в один конец с сервера в приложение Flex
  • Считать местное время (время на клиентском компьютере), используя класс Date исохранить разницу между временем сервера и местным временем в переменной.
  • Инициализировать ваши цифровые часы с временем сервера.
  • Обновлять часы, используя таймер, который срабатывает каждую секунду, или из события enterFramehandler.
  • Вместо того, чтобы добавлять одну секунду в каждом такте, считывайте местное время и добавляйте к нему сохраненную разницу.Это связано с тем, что timer / enterFrame не гарантированно сработает с точными интервалами, как было указано, - оно может работать медленнее, если ваше приложение требует значительных вычислительных ресурсов.
0 голосов
/ 10 июня 2010

вы не можете получить его с некоторым классом AS, потому что на компьютере клиента выполняется flash. вам нужен скрипт на сервере, который возвращает время и вызывает его для синхронизации ваших собственных часов. Вы можете сделать это только один раз, когда приложение запущено, и вы также можете рассчитать момент, когда вы сделали запрос, и когда он вернулся, и вычесть эту задержку из времени, чтобы на вас не влияло сетевое отставание.

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

...