先将 hints 相关变数填好

memset(&hints, 0, sizeof(struct addrinfo)) ;

hints.ai_flags = 0 ;

hints.ai_family = AF_INET6 ;   // 若设成 AF_INET , 会送出 DNS query A

hints.ai_socktype = SOCK_DGRAM ;

// SOCK_STREAM = TCP socket , SOCK_DGRAM = UDP socket

hints.ai_protocol = IPPROTO_UDP ;   // IPPROTO_TCP

 

getaddrinfo(ntps, "123", &hints, &result) ;

如果 dns server 是 IPv6 address , 这行会送出一个 DNS query AAAA over IPv6 的封包

如果 dns server 是 IPv4 address , 这行会送出一个 DNS query AAAA over IPv4 的封包

123 是 ntp port number

result 是回传的资料

若 getaddrinfo 的执行结果不等于 0 , 就是有问题啰 ~

 

待续

看完文章请按 赞 or 推 , 感谢啦 ~ 

相关文章