Задача: вовремя среагировать на изменение системного времени, во время синхронизации его с NTP сервером.
Кроссплатформенно.
Модератор: Модераторы
OS это черный ящик, если есть внутри этого ящика подписка на событие изменения времени по NTP то ваша цель решена, разумеется каждая OS по своему думает.VirtUX писал(а):Мне нужно отследить момент, когда ОС сама выполнит синхронизацию времени
Вы хакингом занимались? Там этот вопрос крайне остро стоит, хотя бы тем что можно целую OS посадить на VM через который может дебажить код взад и вперед. GetTickCount - это очень ненадежно.VirtUX писал(а):Как реализовать собственный "стабильный" таймер... Пользователь, стороннее ПО или ОС изменили системное время, а собственный таймер продолжает выдавать нужное время, как-будто время никто не менял. Постоянно синхронизировать его по NTP нельзя.
olegy123 писал(а):Windows событие WM_TIMECHANGE
olegy123 писал(а):Вы хакингом занимались?
olegy123 писал(а):2) иметь аппаратные ключи, типа HASP
разумеется, что не кроссплатформенно. Но под каждую платформу можно заточить событие на изменение системных часов, в линуксе пишут нужно ловить TFD_TIMER_CANCEL_ON_SET в функции timerfd_settimeVirtUX писал(а):Не кроссплатформенно.
если нужно "сделать сам" и подешевле то могу посоветовать смастерить донгл на базе STM32, в чипе есть внутренние часы 8Мгц (RC -резистор-конденсатор), можно закварцеровать, точность резко возрастет. стоимость ~100/300 рублей. Купить все детали можно в любом магазине радиокомпонентов.VirtUX писал(а):Спасибо! Это вариант.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3