Как я могу сравнить время между Iphone и (веб) сервером? - PullRequest
2 голосов
/ 16 марта 2011

У меня есть приложение, составленное из сервера, которое время от времени отправляет сообщения на Iphones.Задержка между двумя устройствами важна для проблемной области - если для доставки сообщения требуется меньше секунды, все в порядке;если это займет более 5 секунд, проблема почти наверняка есть.Сообщения на стороне сервера помечаются временем сервера.

При использовании сотового соединения для передачи данных мы видим случайные задержки, но мы не можем их количественно определить, поскольку нет гарантии, что часы Iphone синхронизированы ссервер;В одном из наших тестовых телефонов мы видим разное время для разных операторов.

Существует ли простой способ синхронизации времени между Iphone и сервером?Я посмотрел на (S) NTP, который, кажется, правильный путь.

Есть ли альтернативы?Нам нужно быть точными в течение нескольких секунд, а не миллисекунд.

Ответы [ 2 ]

1 голос
/ 17 марта 2011

Я не уверен, какова точная ситуация, так что это может быть не решение, но:

Предполагая, что вы хотите выяснить задержку между телефоном и сервером (и только это) через определенные промежутки времени (определяется сервером).Предполагая также, что проверка ошибок выполняется на стороне сервера, вместо синхронизации часов вы можете использовать подход «ping».

  • Сервер пингует клиент iPhone и запускает секундомер.
  • Клиент немедленно отправляет эхо-запрос на сервер.
  • Как только эхо-запрос клиента достигает сервера, сервер останавливает секундомер и проверяет время.

Если я неправильно понял вашу проблему, извинения.

1 голос
/ 16 марта 2011

Что ж, несколько упрощенное решение заключается в том, что телефоны могут сообщать серверу, сколько времени они проводят в разное время, и вести таблицу дельт в базе данных.Затем скорректируйте указанную вами отметку времени на время подачи r +/- дельта.Насколько мне известно, айфоны синхронизируются с сервером времени оператора.Другая возможность заключается в том, чтобы телефон и сервер ежедневно запрашивали общий источник времени.Маловероятно, что время сильно разнится за один день.

...