Linux'ta NTP saati şöyle alınabilir.
#include <stdio.h>
#include <sys/timex.h>
#include <sys/time.h>
int main(int argc, char **argv)
{
struct timeval tv;
gettimeofday(&tv, NULL);
struct ntptimeval ntptv;
ntp_gettime(&ntptv);
printf("gettimeofday: tv_sec = %ld, tv_usec = %ld\n",
tv.tv_sec, tv.tv_usec);
printf("ntp_gettime: tv_sec = %ld, tv_usec = %ld\n",
ntptv.time.tv_sec, ntptv.time.tv_usec);
}
Çıktı olarak şunu görürüz.
gettimeofday: tv_sec = 1366209548, tv_usec = 137736 //microsecond
ntp_gettime: tv_sec = 1366209548, tv_usec = 137743081 //nanosecond
Burada NTP sunucusundan zamanı çekip, sistem saati ile farkını bulmayı gösteren bir örnek var.
Hiç yorum yok:
Yorum Gönder