2010-07-04 3 views
0

Итак, ситуация следующая.синхронизирует время клиента с сервером, т. Е. Делает клиентское приложение независимым от времени локального компьютера

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

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

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

Теперь я должен добавить половину задержки запроса на метку времени сервера, но это не совсем хорошо. Это может потребоваться, чтобы время между отправкой и получением могло достигать 11 секунд.

Предложения?

ответ

1

Существует множество распространенных решений для синхронизации времени между машинами, включая правильную реализацию PLL, выполненную NTPD с RTP. Это полезно для вас, если вы можете изменить местное время машины. Если нет, возможно, вам следует сделать больше или меньше того, что вы делали, но потеряйте точки синхронизации, где латентность необоснованна.

+0

благодарит за ответ! – Tobias

+0

спасибо за голоса :) –

+0

Оказалось, что вебсервис может быть вынужден сразу же отправить ответ, и нам удалось получить задержку в пределах толерантных диапазонов, phwew ... казалось, было проще;) – Tobias

0

Лучшей практикой является, как правило, не синхронизация абсолютных времен, а работа с относительными временами.

Смежные вопросы