[linux] getaddrinfo()
先將 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 推 , 感謝啦 ~