/ / Formátovanie adresy IP v adresári C # - c #, ip

Formátovanie adresy IP v adresári C # - c #, ip

Použil som to hostInfo.AddressList získať adresu IP zariadenia. Vráti to vo formáte písmen, ako napríklad ff80 :: c9c9: b2af: aa0f: e2d2% 12, čo chcem, je formátovať na formát adresy IP (číslice).

Nejaká pomoc?

pomocou c #, .net 3.5

odpovede:

6 pre odpoveď č. 1

Formát, ktorý ste uviedli, je správny spôsob, ako reprezentovať adresu IPv6. Neexistuje formát A.B.C.D, ktorý by reprezentoval adresy IPv6.

Čo sa deje, dostanete zoznam adries IPv4 aj IPv6. Hľadáte 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";
}

4 pre odpoveď č. 2

že je formát adresy IP, konkrétne IPv6 IPadresa. Zdá sa, že chcete mať adresu IPv4, ale adresy IPv6 nemôžu byť konvertované na adresy IPv4 bez toho, aby ste vedeli, ako je vaša sieť nakonfigurovaná.

Ak váš hostiteľ má adresu v6, odporúčam vám, aby ste sa držali. Určite by ste sa nemali pokúšať konvertovať adresy na aplikačnú úroveň.