Topic: Как получить точное время из внешнего источника?

Есть необходимость в программе получать точное время.
Но, не системное время компьютера, а из внешнего источника.
Например с какого-нибудь сервера времени типа https://www.ntp-servers.net/ или timeserver.ru
Как это сделать?

Re: Как получить точное время из внешнего источника?

К сожалению я не компетентен в этом вопросе.

Dmitry.

Re: Как получить точное время из внешнего источника?

Можно разместить на форме TWebBrowser.
Загрузить в него страничку с часами и парсить.

Re: Как получить точное время из внешнего источника?

Как мне кажется проще всего настроить синхронизацию системного времени с сервером и брать системное время .
Объясню почему :
На раскуривание NTP протокола и написание чего-то вразумительного у Вас уйдет уйма времени , а так как это фастскрипт (ключевое слово скрипт) то с точностью будут проблемы . Гораздо проще синхронизировать систему(средствами системы) и брать с неё время.Итого быстрее проще и точнее .
В случае с парком машин целесообразно поднять локальный сервер времени .
ИМХО

Re: Как получить точное время из внешнего источника?

Добрый день! Может через систему это как-то делать, например, через службу времени Windows :
w32tm /stripchart /computer:time.windows.com /samples:1 /dataonly > temp.txt,
она нам выдаёт:

Отслеживание time.windows.com [51.141.32.51:123].
Сбор образцов 1.
Текущее время - 10.01.2018 10:55:56.
10:55:56, -00.0127976s

и записала во временный файл,
а потом из третьей строки данные извлекаем в программу?

Согласен, костыльно )))

6 (edited by k245 2018-01-11 14:54:03)

Re: Как получить точное время из внешнего источника?

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

mcsimm wrote:

Может через систему это как-то делать, например, через службу времени Windows :
w32tm /stripchart /computer:time.windows.com /samples:1 /dataonly > temp.txt,

Кстати, неплохой вариант cool
Непонятно только, как запустить выполнение этой строки из приложения MyVisualDatabase...

Визуальное программирование: блог и телеграм-канал.

Re: Как получить точное время из внешнего источника?

попробуйте так


OpenFile('/stripchart /computer:time.windows.com /samples:1 /dataonly > temp.txt', 'w32tm.exe');
Dmitry.

Re: Как получить точное время из внешнего источника?

Нашёл как это реализуется в Delphi, (не по NTP или SNTP, а по протоколу TIME), но там через компоненты Internet Direct (InDy).
На всякий случай ссылку дам. вдруг кому пригодится:
http://www.delphisources.ru/forum/showt … hp?t=25449