Ehm... io come mio solito potrei proporre il corrispettivo in Python.
Magari puoi riadattare il codice (che è semplice) in C++.
codice:
# semplice client NTP
from socket import *
import struct
import sys
import time
TIME1970 = 2208988800L
client = socket( AF_INET, SOCK_DGRAM )
data = '\x1b' + 47 * '\0'
client.sendto(data, ('ntp1.ien.it', 123))
data, address = client.recvfrom( 1024 )
if data:
t = struct.unpack( '!12I', data )[10]
t -= TIME1970
print time.ctime(t)
Effettuando una query al time server di ntp1.ien.it l'output fornito è il seguente: