예전부터 찜찜하게 생각했던 부분을 오늘 집고 넘어가려고 한다.

로컬 호스트의 IP 주소를 얻기 위해서 Dns.Resolve 메소드를 사용했다.
간단하게 로컬 호스트의 IPv4 주소를 얻을 수 있다.

하지만 VS 출력창에 다음과 같은 경고 메시지가 나온다.



 

Dns.GetHostEntry 메소드를 사용하면 되는데 그렇게 되면 결과셋인 IPHostEntry 객체에 로컬 호스트가 사용하는 IPv4, IPv6 등 모든 정보를 갖게 된다.
나중에야 IPv6 를 사용하긴 할테지만 지금 프로젝트에선 IPv4만 사용하는데.. 이 것 만 어떻게 뽑아 낼까??

외국 아이들도 같은 고민을 했나보다. 뭐... 결국 MSDN만 잘 봤으면 쉽게 해결할 수 있는 거지만..
cf ) GetHostEntry.AddressList[0] returns ::1 on current Windows version even with IPv6 off. Can I change this?

IPHostEntry 에서 AddressList의 IPAddress 인스턴스의 AddressFamily 프로퍼티 값으로 선별 가능하다.

Posted by six605
,