C#でマシンのIPアドレスを取得するにはどうすればよいですか?
IPAddress[] localIPs = Dns.GetHostAddresses(Dns.GetHostName());
お使いのマシンには単一のIPアドレスがなく、返されるアドレスの一部はIPv6である可能性があります。
MSDNリンク:
あるいは、 MSalters で述べたように、127.0.0.1
/::1
は ループバックアドレス であり、常にローカルマシンを参照します。ただし、明らかな理由により、リモートマシンからローカルマシンに接続するために使用することはできません。
私の望んだ答えは
string ipAddress = "";
if (Dns.GetHostAddresses(Dns.GetHostName()).Length > 0)
{
ipAddress = Dns.GetHostAddresses(Dns.GetHostName())[0].ToString();
}
IPHostEntry ip = DNS.GetHostByName (strHostName);
IPAddress [] IPaddr = ip.AddressList;
for (int i = 0; i < IPaddr.Length; i++)
{
Console.WriteLine ("IP Address {0}: {1} ", i, IPaddr[i].ToString ());
}
string hostName = Dns.GetHostName(); // Retrive the Name of Host
// Get the IP
string myIP = Dns.GetHostByName(hostName).AddressList[0].ToString();
//次の名前空間を使用-System.Netを使用;