先將 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 推 , 感謝啦 ~ 

相关文章