이 hostInfo.AddressList를 사용하여 컴퓨터의 IP 주소를 가져 왔습니다. ff80 :: c9c9 : b2af : aa0f : e2d2 % 12와 같은 문자 형식으로 반환합니다. 원하는 것은 IP 주소 형식 (숫자)으로 형식을 지정하는 것입니다.C#에서 IP 주소 포맷하기
어떤 도움이 필요합니까? C#을 사용
는 IP 주소 형식, 구체적으로는 IPv6 IP 주소 3.5
이 hostInfo.AddressList를 사용하여 컴퓨터의 IP 주소를 가져 왔습니다. ff80 :: c9c9 : b2af : aa0f : e2d2 % 12와 같은 문자 형식으로 반환합니다. 원하는 것은 IP 주소 형식 (숫자)으로 형식을 지정하는 것입니다.C#에서 IP 주소 포맷하기
어떤 도움이 필요합니까? C#을 사용
는 IP 주소 형식, 구체적으로는 IPv6 IP 주소 3.5
준 형식은 IPv6 주소를 나타내는 올바른 방법입니다. IPv6 주소를 나타내는 A.B.C.D 형식이 없습니다.
어떻게 된 건지 IPv4와 IPv6 모두의 주소 목록을 얻는 것입니다. 당신은 IPv4를 찾고 있습니다.
string GetFirstIPv4Address()
{
IPAddress[] addressList = Dns.GetHostAddresses(hostname);
foreach (IPAddress ip in addressList)
{
if (ip.AddressFamily.ToString() == "InterNetwork")
{
//This is an IPv4 address
return ip.ToString();
}
}
return "127.0.0.1";
}
그게 .NET. IPv4 주소를 원하는 것처럼 들리지만 IPv6 주소는 네트워크 구성 방법을 알지 못하면 IPv4 주소로 다운 컨버전 할 수 없습니다.
호스트에 v6 주소가있는 경우이 주소를 사용하는 것이 좋습니다. 애플리케이션 수준에서 주소를 다운 컨버전하려고해서는 안됩니다.
기본적으로이 경우 IPv4 형식을 얻는 방법은 없습니다. – sarsnake
아니요, IPv6 주소가 32 비트가 아니기 때문에 점으로 구분 된 IPv6 주소가 없습니다. –
지금 가지고있는 코드를 게시 할 수 있습니까? – Robaticus