Post date: 15.07.2015 8:24:40
Компьютер отсчитывает время в секундах, которые формируются из тактов, генерируемых кварцем и измеряемых в герцах. Стабильность частоты типичного кварцевого генератора невелика (например, зависит от температуры, напряжения, механических деформаций и т.д.), к тому же базовая частота меняется от кристалла к кристаллу (что может приводить к уходу системных часов на десятки секунд в день).
Насколько точны часы вашего компьютера, можно увидеть, запустив команду:
w32tm /query /status /verbose
и сравнив полученное значение ClockRate с эталонной величиной 0.0156000s (у меня: Тактовая частота: 0.0156004s).
Часы компьютера можно синхронизировать с сервером времени в Интернете. Это означает, что показания компьютерных часов будут обновляться в соответствии с показаниями часов на сервере времени, что гарантирует точность локальных часов. Обычно показания часов обновляются раз в неделю, и для синхронизации необходимо подключение к Интернету.
"Раз в неделю" в граммах секундах - это значение ключа реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval, равное 604800.
Убедиться в этом можно, запустив команду:
w32tm /dumpreg /subkey:TimeProviders\NtpClient
Поменять интервал синхронизации можно, изменив значение этого ключа реестра на другое число, например 3600.
Но при частом обращении к одному серверу система может заблокировать ваши запросы, восприняв их как попытка атаки.
Программное обеспечение сервера времени автоматически обнаруживает и добавляет в список необслуживаемых клиентов те IP адреса, с которых приходит неразумно большое количество запросов точного времени.
Избежать блокировки вашего IP адреса можно чередованием серверов, количество которых сегодня - более 3000. В программе "InternetTime" предусмотрен стартовый список из 47 NTP-серверов в файле NTPsrv.cfg в формате XML, который можно модифицировать любым текстовым редактором, добавив или удалив строки типа:
<srvs>time.windows.com</srvs>
Программа выбирает сервера из этого списка случайным образом. Риск блокировки ваших запросов при этом сводится к минимуму.
Есть возможность задавать периодичность опроса времени (в секундах), допустимое расхождение часов, а также настраивать включение/отключение записи протокола работы программы в файл. Эти параметры хранятся в файле InternetTime.cfg в формате XML.
Скачать: InternetTime.7z
Приятного пользования!