如何在 C# 代码中获取 IP 地址 [重复]
Posted
技术标签:
【中文标题】如何在 C# 代码中获取 IP 地址 [重复]【英文标题】:How to get an IP address in C# code [duplicate] 【发布时间】:2011-04-03 21:28:19 【问题描述】:可能重复:How to get my own IP address in C#?
我需要通过 C# 代码获取运行应用程序的系统的 IP 地址
IPAddress[] ip = Dns.GetHostAddresses(Dns.GetHostName());
foreach (IPAddress theaddress in ip)
String _ipAddress = theaddress.ToString();
我正在使用此代码,但这会在不同的操作系统中给出不同的结果。例如,在 Windows 7 中,它给出“fe80::e3:148d:6e5b:bcaa%14” 而 Windows XP 则给出“192.168.10.93”。
【问题讨论】:
听起来像是一道作业题。 ***.com/questions/1069103/…的可能重复 欺骗***.com/questions/1069103/… @Wild,真的吗?我不这么认为... 这周或上周开学了,这是要求学生回答的问题。 【参考方案1】:请注意,您可能有多个 IP 地址分配给一台机器。您可以像这样检索它们(注意:此代码忽略环回地址):
var iplist = new List<string>();
foreach (var iface in NetworkInterface.GetAllNetworkInterfaces())
var ips = iface.GetIPProperties().UnicastAddresses;
foreach (var ip in ips)
if (ip.Address.AddressFamily == AddressFamily.InterNetwork &&
ip.Address.ToString() != "127.0.0.1")
iplist.Add(ip.Address.ToString());
使用的命名空间包括:
using System.Net;
using System.Net.NetworkInformation;
using System.Net.Sockets;
【讨论】:
【参考方案2】:给你 - 快速谷歌:
http://msdn.microsoft.com/en-us/library/system.net.ipaddress(v=VS.100).aspx
【讨论】:
以上是关于如何在 C# 代码中获取 IP 地址 [重复]的主要内容,如果未能解决你的问题,请参考以下文章