架构师_程序员_码农网

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 18188|回复: 0

[WinForm] winform获取本机的所有ip地址,并过滤内网ip

[复制链接]
发表于 2016-4-22 11:09:14 | 显示全部楼层 |阅读模式
QQ截图20160422110804.jpg

能贴代码的,尽量不要BB

  1. private void Initialization_Load(object sender, EventArgs e)
  2.         {
  3.             cboxip.Items.Add("请选择IP地址");
  4.             List<string> str = new List<string>();
  5.             string hostName = Dns.GetHostName();//本机名   
  6.             //System.Net.IPAddress[] addressList = Dns.GetHostByName(hostName).AddressList;//会警告GetHostByName()已过期,我运行时且只返回了一个IPv4的地址   
  7.             System.Net.IPAddress[] addressList = Dns.GetHostAddresses(hostName);//会返回所有地址,包括IPv4和IPv6   
  8.             foreach (IPAddress ip in addressList)  
  9.             {
  10.                 string _temp_ip = ip.MapToIPv4().ToString();
  11.                 string[] ipstr = _temp_ip.Split('.');
  12.                 if (ipstr[0] == "127" || ipstr[0] == "10" || ipstr[0] == "172")
  13.                 {
  14.                     continue;
  15.                 }
  16.                 else {
  17.                     string temp = str.Where(s => s == _temp_ip).FirstOrDefault();
  18.                     if (temp == null)
  19.                     {
  20.                         str.Add(_temp_ip);
  21.                         cboxip.Items.Add(_temp_ip);
  22.                     }
  23.                 }               
  24.             }
  25.             cboxip.SelectedIndex = 0;
  26.         }
复制代码






上一篇:mvc视图获取当前控制器和方法
下一篇:关于form表单底下 button自动提交表单的问题
码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2026-5-1 19:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表