C#获取IPv4代码

Posted 喜爱糖葫芦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#获取IPv4代码相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace GetIPv4Application
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btn_getIPv4_Click(object sender, EventArgs e)
        {
            ShowIP();
        }
        void ShowIP()
        {
            richTextBoxIPv4.Text = string.Empty;
            //ipv4地址也可能不止一个  
            foreach (string ip in GetLocalIpv4())
            {
                this.richTextBoxIPv4.AppendText(ip.ToString()+"\\n");
            }
            return;
        }
        string[] GetLocalIpv4()
        {
            //事先不知道ip的个数,数组长度未知,因此用StringCollection储存  
            IPAddress[] localIPs;
            localIPs = Dns.GetHostAddresses(Dns.GetHostName());
            StringCollection IpCollection = new StringCollection();
            foreach (IPAddress ip in localIPs)
            {
                //根据AddressFamily判断是否为ipv4,如果是InterNetWorkV6则为ipv6  
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                    IpCollection.Add(ip.ToString());
            }
            string[] IpArray = new string[IpCollection.Count];
            IpCollection.CopyTo(IpArray, 0);
            return IpArray;
        }
    }
}

  

注:当有虚拟网卡时会获取到多个ip地址。

以上是关于C#获取IPv4代码的主要内容,如果未能解决你的问题,请参考以下文章

C# asp.net获取客户端的Ipv4 ip地址[重复]

一个基于C#编写的基础网络信息检测工具

c#代码片段快速构建代码

此 Canon SDK C++ 代码片段的等效 C# 代码是啥?

C# 最有用的(自定义)代码片段是啥? [关闭]

是否可以动态编译和执行 C# 代码片段?