int64 NtpGetTime(const std::string &strHostName) { int64 nTime; SOCKET sockfd; socklen_t servlen; struct sockaddr cliaddr; if(!InitWithHost(strHostName, sockfd, servlen, &cliaddr)) return(-1); CNetAddr ip = ((sockaddr_in *) &cliaddr)->sin_addr; printf("NtpGetTime() : querying an NTP server %s\n", ip.ToStringIP().c_str()); nTime = DoReq(sockfd, servlen, cliaddr); closesocket(sockfd); if((nTime > 0) && (nTime != 2085978496)) { printf("NtpGetTime() : time sample %" PRI64d " offset %+" PRI64d " received from %s\n", nTime, nTime - GetTime(), ip.ToStringIP().c_str()); } return(nTime); }