올바른 IPV4 주소를 반환하는 다음 코드 단편을 가지고 있습니다.코코아에서 올바른 IPv6 주소를 얻는 방법
NSArray *addresses = [[NSHost currentHost] addresses];
NSString *stringAddress;
for (NSString *anAddress in addresses) {
if (![anAddress hasPrefix:@"127"] && [[anAddress componentsSeparatedByString:@"."] count] == 4) {
stringAddress = anAddress;
NSLog(@"stringAddress is %@",stringAddress);
break;
} else {
// Do Something
}
}
이 응용 프로그램을 실행하면 NSHost 주소가 표시되는 IPAddress가됩니다. 내 시스템 환경 설정에서
2012-10-01 17:30:45.722 GetIPV6Address[1928:403] addresses is (
"fe80::426c:8fff:fe07:f4e4%en0",
"fdc7:2c68:e800::426c:8fff:fe07:f5e5",
"fdc7:2c68:e800::fd62:f01c:155d:3228",
"fe80::7ec3:a1ff:fea5:c32d%en1",
"198.168.10.144",)
, 내 IPV4 주소가 198.168.10.144 것을 볼 수 있으며, IPV6 주소는 fdc7입니다 : 2c68 : E800 : 426C : 8fff : fe07 : f5e5.
이 목록은 항상 동일한 순서가 아니므로 올바른 IP 주소를 동적으로 가져올 수 없습니다. 목록에서 fdc7 : 2c68 : e800 :: 426c : 8fff : fe07 : f5e5 내 IPV6 주소입니다. 어떤 도움을 주시면 감사하겠습니다.
"첫 번째 것이 올바른 것이 아닙니다"는 의미는 무엇입니까? 첫 번째 작품은 무엇입니까? 올바른 것은 무엇입니까? 그리고 그것은 왜 첫 번째인지 중요합니까? –
목록에있는 3 개 이상의 IP 주소 목록이 목록에서 첫 번째 IP 주소는 임의의 IP 주소입니다. 시스템 환경 설정에서 IP 주소를 볼 수 있습니다. 시스템 환경 설정의 IP 주소가 정확합니다 하나. – Akbar
실제 첫 번째 IP 주소는 무엇입니까? 왜 당신이 올바른 IP 주소가 아닌 "임의의 IP 주소"라고 생각하게합니까? 당신이 생각하는 것을 실제로 "정확함"으로 만드는 것은 무엇입니까? 당신의 기준은 무엇입니까? –