为了账号安全,请及时绑定邮箱和手机立即绑定

如何获取运行C#应用程序的服务器的IP地址?

如何获取运行C#应用程序的服务器的IP地址?

C#
倚天杖 2019-06-25 16:41:33
如何获取运行C#应用程序的服务器的IP地址?我正在运行一个服务器,我想显示我自己的IP地址。获取计算机自己(如果可能的话,外部)IP地址的语法是什么?有人写了以下代码。IPHostEntry host;string localIP = "?";host = Dns.GetHostEntry(Dns.GetHostName());foreach (IPAddress ip in host.AddressList){     if (ip.AddressFamily.ToString() == "InterNetwork")     {         localIP = ip.ToString();     }}return localIP;但是,我通常不信任作者,也不理解这段代码。是否有更好的方法来做到这一点?
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

不,这是最好的方法。像机器一样有几个IP地址,您需要迭代它们的集合,以找到合适的IP地址。

编辑:我唯一改变是为了改变这种情况:

if (ip.AddressFamily.ToString() == "InterNetwork")

对此:

if (ip.AddressFamily == AddressFamily.InterNetwork)

没有必要ToString用于比较的枚举。


查看完整回答
反对 回复 2019-06-25
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

更清洁和一个整体的解决方案:d

//This returns the first IP4 address or nullreturn Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == AddressFamily.InterNetwork);


查看完整回答
反对 回复 2019-06-25
  • 3 回答
  • 0 关注
  • 1140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信