현재 다른 외부 IP에 대해 알려주는 프로그램을 만들고 있습니다. 이를 위해, 나는 getaddrinfo()
함수를 사용하고 있습니다.
테스트 목적으로 노드 이름으로 google.com
을 전달했지만 정상적으로 작동했습니다.
함수에 동적 DNS를 전달하는 경우 IP로 0.0.0.0
을 수신하지만 내 외부 IP가 예상됩니다. 나는 또한 동일한 결과를 가진 친구에게서 역동적 인 DNS를 시도했다.
까지 내가 google.com
에서 IP를 얻을 수있는, 문제는 내 코드해서는 안됩니다.
getaddrinfo()
으로 동적 DNS에서 IP를 수신 할 수 없습니까? 아니면 내가 잘못하고있는 것이 있습니까?getaddrinfo() - 동적 DNS를 사용하여 외부 IP를 가져 오지 못함
편집 :
WSADATA wsaD {};
addrinfo hints = {AI_NON_AUTHORITATIVE, AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, NULL, NULL, NULL};
addrinfo *infoAddress;
WSAStartup(MAKEWORD(2, 2), &wsaD);
getaddrinfo("daniel-nas.computer", "80", &hints, &infoAddress);
struct sockaddr_in *ipAddress = reinterpret_cast<sockaddr_in*>&infoAddress->ai_addr);
inet_ntop(AF_INET, &ipAddress->sin_addr.s_addr, IP, sizeof(IP));
WSACleanup();
IP
가 globaly 정의 :이 문제에 걸쳐 온 다른 사람이 char IP[INET_ADDRSTRLEN];
있습니까?
동적 DNS는 무엇을 의미합니까? – wimh
@Wimmel 매 24 시간마다 유동 IP가 변경되는 한, 동적 주소를 가리키는 동적 DNS ('daniel-nas.computer')가 있습니다. 이 동적 DNS는 24 시간에 한 번 업데이트됩니다. 그리고 그것은'getaddrinfo()'에 전달할 주소입니다. – Daniel
좋습니다. 따라서 공급자가 제공하는 동적 DNS 서비스입니다. 나는 그것이 작동해야한다고 생각한다 (당신이 당신의 PC에있는 다른 소프트웨어에서도 호스트 네임을 사용할 수 있다면). 왜 그것이 당신을 위해 작동하지 않습니다 모르겠어요. – wimh