C# 获取宽带连接(PPPOE拨号)的IP地址
作者:C/S框架网|www.cscode.ne  发布日期:2020/04/13 16:48:06
  C# 获取宽带连接(PPPOE拨号)的IP地址


C# Code:


/// <summary>
///获取宽带连接(PPPOE拨号)的IP地址,当宽带未连接或者连接中的时候获取不到IP
/// </summary>
/// <returns>IP地址</returns>
public static string GetInterNetIP()
{
  
int i = 3;//超时秒
  

  
while (i > 0)
  {
    
try
    {
      NetworkInterface[] nics
= NetworkInterface.GetAllNetworkInterfaces();
      
bool havePPPOE = false;
      
foreach (NetworkInterface adapter in nics)
      {
        
if (adapter.NetworkInterfaceType == NetworkInterfaceType.Ppp)
        {
          havePPPOE
= true;
          IPInterfaceProperties ip
= adapter.GetIPProperties(); //IP配置信息
          
if (ip.UnicastAddresses.Count > 0)
          {
            
return ip.UnicastAddresses[0].Address.ToString();
          }
        }
      }
      
//当没有宽带连接的时候直接返回空
      
if (!havePPPOE) return "";
    }
    
catch (Exception ex)
    {
      Console.WriteLine(
"获取宽带拨号IP出错:" + ex.Message);
    }
    i
--;
    Thread.Sleep(
500);
  }
  
return "";
  
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761



上一篇 下一篇