Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Синхронизация времени с сервером. (http://www.flasher.ru/forum/showthread.php?t=164585)

Aquahawk 17.08.2011 14:27

Синхронизация времени с сервером.
 
Есть сервер и много клиентов - флешек, в разных странах, на разных компах, и у всех часы могут быть настроены по разному. Я знаю что юникстайм не зависит от часовых поясов. Но он может быть настроен на разное время, т.е. на компах может быть рассинхрон времени +- несколько минут, или вообще 2001 год если батарейка в компе не работает. Мне нужно в запросах к серверу указывать когда он был сделан. Есть некий промежуток времени, пока запрос валиден. Если время прошло, то запрос не валиден. +- несколько секунд вполне приемлимая точность.
Я конечно могу просто обычным запросом запросить у сервера время, он мне его отдаст, я посчитаю дельту относительно локального времени и буду с её учётом слать новые запросы. Но тут получается разница между тем моментом когда сервер сформировал запрос и тем когда его юзер получил равна времени доставки ответа от сервера.

Есть ли какие-то стандартные и не костыльные способы такой синхронизации?

Genzo 17.08.2011 14:52

Записывается на сервере ID запроса и время жизни , и при посылке клиентом - проверяется не прошло ли время , если прошло ответ клиенту , что запрос "не валиден"

Aquahawk 17.08.2011 15:20

Клиент должен уметь выдавать запросы без их(запросов) предварительной регистрации на сервере. Один раз зарегался и потом хоть 1000 запросов отправляй. Время отправки запроса должно быть в самом запросе.

Genzo 17.08.2011 16:05

Первый запрос регистрируется и хранится его время , все последующие запросы сравниваются с ним , ну или промежуток времени смотреть getTimer()'ом

Aquahawk 17.08.2011 16:42

Я про это же написал. Да так можно, вопрос в том как сократить влияние того, что ответ на запрос идёт какое-то продолжительное время

-De- 17.08.2011 16:50

Сервер отправил - засёк время отправки. Получил ответ - померял пинг. Поправка - полпинга. Можно при каждой отправке корректировать.
Помнить, что клиент может слать любую фигню. Причем бывает, что у него просто часы страшно плющит, а не потому что читер.

Genzo 17.08.2011 16:53

Можно смотреть время выполнения запроса , что-то наподобие ping. И это время использовать как погрешность.


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

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