[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 推 , 感谢啦 ~