2009-11-16 1 views
1

내 로컬 컴퓨터에 할당 된 모든 IP 주소 (IPv4 및 IPv6 모두)를 반환하려면 getaddrinfo()를 사용하고 있습니다. 나는 XP에서 getaddrinfo() 만 반환 :: 1getaddrinfo()는 IPV6 주소 인 :: 1만을 반환합니다.

(2PX 머신에 IPV6 스택을 설치하고 IPV6 주소를 구성하고 두 피어 모두에 ping을 가했다.) Ipconfig를 모두 확인합니다. 괜찮아요. )

+1

결과를 검색하고 반복하는 데 사용하는 코드를 게시 할 수 있습니까? – Gonzalo

답변

3

저는 곤잘로가 올바른 길을 가고 있다고 생각합니다. :: 1은 내가 이해하는 것으로부터 localhost에 대한 속기입니다. . . 거의 모든 경우 IPV6 localhost :: 1이 반환 된 목록을 반복 할 때 가장 먼저 표시됩니다. . .

+0

Nitpick : 속기가 아님. :: 1은 로컬 주소입니다. 이름은 뭔가 다른 것입니다. (데비안에서이 주소의 기본 이름은 ip6-localhost입니다.) – bortzmeyer

0

글쎄, ::1 주소 (또는 주소에 이중 콜론이 있음)에서 이중 콜론은 주소를 전체 길이로 채우는 데 필요한 0 비트 수로 확장되므로 확장 된 버전은 0000:0000:0000:0000:0000:0000:0000:0001입니다.

ipv6에서이 주소는 특히 루프백 주소로 정의 된 유일한 주소입니다 (ipv4와 달리이 목적으로 127.0.0.0/8이됩니다).

은 (당신이 실제로 결과를 반복하고 바로 연결리스트의 첫 번째 요소를 확인하지 않는 것을, 당신은 확실합니까?)

0

내가 Windows XP와의 듀얼 스택 구성 멀리 조언 것 스택은 서로 잘 어울리지 않습니다. IPv6를 사용하려면 Windows 2008 R2 또는 Windows 7을 사용하십시오.