
30.04.2011, 12:03
|
|
Регистрация: Sep 2008
Адрес: Черкассы
Сообщений: 1,167
|
Извините если ломаю русский.
Суть в том что мне нужно определённо временная шкала потому что по ней идёт синхронизация картинки на сервере и на всех клиентах, а реализовал это Я так:
1. Клиент (дальше К) подключается к серверу (дальше С)
2. С. отсылает К. своё время в миллисекундах
3. Как только К. получает это время он тут же переводит своё внутреннее локальное время на серверное и return'oм снова отправляет это время на С.
4. С. получив эти данные, отнимает от текущего времени время считанное в первом запросе. В итоге мы получаем время задержки (ВЗ) при передачи данных от сервера к пользователю и обратно.
5. После чего С. отправляет это ВЗ на К. который переводит назад своё время ровно на ( В3 / 2 ) (требует доработки но пока считаем что время приёма и передачи равносильно, то-есть переводим время на тот промежуток времени за который данные шли клиенту).
При такой схеме данные посланные с сервера буду отображать практически одновременно с данными реально происходящих на сервере, исключением конечно является now-действия, но в целом принцип прост.
На примере:
Сервер посылает клиентам что объект Х в 12:00:00 из позиции А передвигается в позицию Б и должна там быть ровно в 12:00:30. Клиент получив такие данные в 12:00:02, берёт своё локальное время, исчисляет из поступившихся данных точку где объект уже должен находиться, быстро переносит объект на эту позицию и после продолжает движение в точку Б ровно к 12:00:30. Потому время тут играет ключевую роль, вот только при множественных запросах считаю довольно не логичным использовать 13-ти значные данные, да еще и исчисление которых происходит в две команды.
Добавлено через 7 часов 16 минут
ладно)
__________________
return this...
|