//extern unsigned char gSntpServerIP[20];
int GetNTPTime(unsigned char *ntpServerIP,unsigned int ntpPort,unsigned int *data)
{
int sockfd=0;
char ntpServerName[20];
STNP_Header H_NTP;
H_NTP.LiVnMode = 0x1b;//LI(2bit ) VN(3bit 版本) Mode(3bit客户端模式)
H_NTP.Stratum = STRATUM;
H_NTP.Poll = POLL;
H_NTP.Precision =PREC;
memset(ntpServerName,0,sizeof(ntpServerName));
sprintf(ntpServerName,"%s",ntpServerIP);
NF_LOG(DEBUG_K,"@_@,sync time from %s,H_NTP.Stratum=%d\n", ntpServerName,H_NTP.Stratum);
#if 0//不能解析域名的方式
struct sockaddr_in server;
server.sin_family = AF_INET;
server.sin_addr.s_addr = gethostIPbyname((const char*)ntpServerName);
server.sin_port = htons(ntpPort);
if(-1 == (int)server.sin_addr.s_addr)
{
NF_LOG(ERROR_L,"[%s,%d]s_addr error...\n",__FUNCTION__,__LINE__);
return -1;
}
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
if(sockfd<0)
{
NF_LOG(ERROR_L,"[%s,%d]socket error...\n",__FUNCTION__,__LINE__);
return -1;
}
#endif
#if 1//getaddrinfo可以解析域名的方式
int rc;
addrinfo hin
【原】socket通信实现域名解析
最新推荐文章于 2024-04-15 19:33:59 发布