Протокол сетевого времени для iPhone

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

Есть ли какая-либо реализация с открытым исходным кодом этих протоколов для iPhone? До сих пор мне удалось найти неработающую ссылку. Я также знаю, что NTP имеет ссылочную реализацию C, таким образом, я пытаюсь видеть, какого количества усилия требовалось бы, чтобы заставить его работать над iPhone.

Обновление: Я думал, что у меня была рабочая ссылка, но именно к Wayback Machine, который только сохранил текст, не, ссылка файлов работает.

27
задан Community 23 May 2017 в 12:25
поделиться

5 ответов

Я бы, наверное, начал с извлечения кода из OpenNTPD.

5
ответ дан 28 November 2019 в 05:40
поделиться

Если вы не разрабатываете коммерческое приложение, загляните в исходники linux.

http://packages.ubuntu.com/source/lucid/ntp

3
ответ дан 28 November 2019 в 05:40
поделиться

Если вам нужно использовать NTP, но вы не хотите доверять часам iPhone (или iPod), вы всегда можете просто использовать сокеты (или потоки Какао) ) и запросите сервер самостоятельно. Это одна из самых простых сетевых транзакций.

Cocoa Streams

2
ответ дан 28 November 2019 в 05:40
поделиться

Я не знаю, какое приложение вы создаете, но если доверие к часам является критической характеристикой его безопасности или (в случае игры) предотвращения обмана и т.д., то вам нужно быть очень осторожным с открытыми протоколами, такими как NTP - мошенник может сделать man-in-the-middle на вашем NTP запросе и сказать вашему приложению то, что он хочет услышать.

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

2
ответ дан 28 November 2019 в 05:40
поделиться

Поскольку вы разрабатываете коммерческое приложение, если все остальное не удается, RFC 2030 описывает протокол SNTP. У меня нет информации о коммерчески доступных библиотеках, для которых не требуется фоновая задача, которую iPhone не позволит вам использовать.

2
ответ дан 28 November 2019 в 05:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: