Реализация Java NTP

У меня есть приложение сервер / клиент, и мне нужно синхронизировать время клиентов со временем сервера. Таким образом, мне нужно реализовать NTP-сервер (или аналогичный) в серверном приложении и NTP-клиент на стороне клиента.

NTP не является обязательным требованием, но он должен быть точным как минимум в течение 50 мс (тогда он уже будет немного критичным, но все еще пригодным для использования, пока я не найду лучшее решение).

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

Изменить: Подробнее о проекте

Серверное приложение работает на домашнем ПК клиента. Компьютер клиента не должен менять время, только клиент (который работает на выделенном компьютере, работает на Ubuntu).

Это проект IoT, есть много клиентов, которые являются очень маленькими аппаратными устройствами и должны иметь ту же дату / время, что и сервер. Поскольку клиент не будет манипулировать конфигурацией клиента и не имеет к ней доступа (это черный ящик), я могу запустить свое приложение, используя права администратора, если это необходимо.

Я не хочу устанавливать NTP-сервер на домашнем компьютере моего клиента. Это причина, по которой я хочу предоставить эту функциональность внутри моего Java-приложения.

1 ответ

В Apache commons-net есть NtpClient, который вы можете использовать для этого. Вы можете использовать это, чтобы выяснить смещение часов по крайней мере вашего клиентского ПК и попытаться компенсировать это.

Другие вопросы по тегам