请问如果本台计算机有两块网卡! 我怎么对应D把每一块网卡的IP读出来呢?

解决方案 »

  1.   

    具体方法为如下:private void btnChenk_Click(object sender, System.EventArgs e){System.Net.IPAddress[] addressList = Dns.GetHostByName(Dns.GetHostName()).AddressList;if ( addressList.Length>1){nativeIP.Text = addressList[0].ToString();serverIP.Text = addressList[1].ToString();}else{nativeIP.Text = addressList[0].ToString();serverIP.Text = "Break the line...";}}通常addressList[]所得到的列表就是当前的IP地址;如果当前是拨号上网的话addressList[0].ToString()就是本地IP地址;addressList[1].ToString() 就是上网地址。如果当前是使用[EnterNet 300]拨号上网的话addressList[1].ToString()就是本地IP地址;addressList[0].ToString() 就是上网地址。如果程序只能够检测到只有一个IP地址的话,证明当前电脑没有在线!
      

  2.   

    private IPEndPoint localEndPoint
    {
    get
    {
    IPEndPoint point = null;
    //本机的多个IP地址
    IPAddress[] ipArr = Dns.Resolve(Dns.GetHostName()).AddressList; if (ipArr.Length > 0)
    {
    for (int i = 0; i < ipArr.Length; i++)
    {
    //判断是否为局域网内IP地址192.168...
    if (ipArr[i].ToString().Substring(0, 3) == "192")
    {
    point = new IPEndPoint(ipArr[i], udpPort);
    }
    }
    } return point;
    }
    }这是我最近做的东西中实现的,获取双网卡下用于内网的网卡IP地址,判断192有点土