getaddrinfo()를 사용하여 Windows 작업 그룹의 PC 호스트 이름을 LAN의 해당 PC에 대한 IPV4 주소로 변환하는 응용 프로그램이 있습니다. (참고로, 코드가 실행되는 PC의 주소를 얻는 것은 아닙니다. 즉, LAN상의 다른 PC의 주소를 의미합니다!) 이것은 현장 에서뿐만 아니라 실험실에서 오랫동안 사용되어 왔지만 이제는 비정상적으로 작동하는 Windows 7 (32 비트) PC가 있습니다. 이 PC의 호스트 이름은 "elbow"입니다.getaddrinfo()는 원격 호스트에 대해 127.0.0.1을 반환합니다.
내가 내 LAN에있는 모든 PC에이 샘플 코드를 실행하고 호스트 이름으로 "팔꿈치"를 지정하면 http://msdn.microsoft.com/en-us/library/windows/desktop/ms738520%28v=vs.85%29.aspx에서한다 getaddrinfo()에 대한 Microsoft에서 제공하는 샘플 코드를 컴파일
는한다 getaddrinfo()는 루프백 주소를 반환 올바른 것 대신에 127.0.0.1 (192.168.1.110). 그러나 다른 호스트 이름을 지정하면 getaddrinfo()는 올바른 주소를 반환합니다!
과거 "팔꿈치"의 일부 지점에서이 동작이 나타나지 않았으므로 해당 PC에 대한 무언가가 변경되어이 동작이 발생했습니다. 내가 생각했을 때이 문제가 발생하지 않았지만 변경되지 않은 지점으로 PC 디스크 이미지를 복원하려고했습니다. PC가 유선 또는 무선으로 LAN에 연결되어 있는지 여부도 차이가 없습니다. LAN상의 모든 PC에서 DHCP를 사용할 수 있습니다. 이 동작은 모든 PC, 라우터 및 스위치의 전원이 완전히 꺼진 경우에도 지속됩니다.
잘못된 답변입니다. 나는 당신이이 질문에 대해 다른 어떤 활동도하지 않았 음을 압니다. 그것은 정말로 수수께끼입니다. 행운을 빕니다! –
매우 이상합니다! 그리고 그것은 단방향입니다. 이상한 PC는 다른 모든 PC에 대해 올바른 IP를 얻는 데 아무런 문제가 없습니다. IP를 보이지 않게 만드는 보안 설정이있는 것처럼 보입니다. 전에 그런 설정을 찾았지만, 알다시피, 나는 다시 한번 생각할 것입니다. – pnswdv