判断网络是否连同(网站域名以及数据获取本地windows Api)

using System;
using System.Collections.Generic;
using System.Text;
//方法一
using System.Runtime;
using System.Runtime.InteropServices;
//方法二 Net2.0新增类库
using System.Net.NetworkInformation;

namespace InternetCheck
{
public class Internet
{
[DllImport(“wininet.dll”)]
private extern static bool InternetGetConnectedState(int Description, int ReservedValue);

    #region 方法一
    /// <summary>
    /// 用于检查网络是否可以连接互联网,true表示连接成功,false表示连接失败 
    /// </summary>
    /// <returns></returns>
    public static bool IsConnectInternet()
    {
        int Description = 0;
        return InternetGetConnectedState(Description, 0);
    }
    #endregion

    #region 方法二
    /// <summary>
    /// 用于检查IP地址或域名是否可以使用TCP/IP协议访问(使用Ping命令),true表示Ping成功,false表示Ping失败 
    /// </summary>
    /// <param name="strIpOrDName">输入参数,表示IP地址或域名</param>
    /// <returns></returns>
    public static bool PingIpOrDomainName(string strIpOrDName)
    {
        try
        {
            Ping objPingSender = new Ping();
            PingOptions objPinOptions = new PingOptions();
            objPinOptions.DontFragment = true;
            string data = "";
            byte[] buffer = Encoding.UTF8.GetBytes(data);
            int intTimeout = 120;
            PingReply objPinReply = objPingSender.Send(strIpOrDName, intTimeout, buffer, objPinOptions);
            string strInfo = objPinReply.Status.ToString();
            if (strInfo == "Success")
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        catch (Exception)
        {
            return false;
        }
    }
    #endregion
}

}
using System;
using System.Collections.Generic;
using System.Text;
//方法一
using System.Runtime;
using System.Runtime.InteropServices;
//方法二 Net2.0新增类库
using System.Net.NetworkInformation;

namespace InternetCheck
{
public class Internet
{
[DllImport(“wininet.dll”)]
private extern static bool InternetGetConnectedState(int Description, int ReservedValue);

    #region 方法一
    /// <summary>
    /// 用于检查网络是否可以连接互联网,true表示连接成功,false表示连接失败 
    /// </summary>
    /// <returns></returns>
    public static bool IsConnectInternet()
    {
        int Description = 0;
        return InternetGetConnectedState(Description, 0);
    }
    #endregion

    #region 方法二
    /// <summary>
    /// 用于检查IP地址或域名是否可以使用TCP/IP协议访问(使用Ping命令),true表示Ping成功,false表示Ping失败 
    /// </summary>
    /// <param name="strIpOrDName">输入参数,表示IP地址或域名</param>
    /// <returns></returns>
    public static bool PingIpOrDomainName(string strIpOrDName)
    {
        try
        {
            Ping objPingSender = new Ping();
            PingOptions objPinOptions = new PingOptions();
            objPinOptions.DontFragment = true;
            string data = "";
            byte[] buffer = Encoding.UTF8.GetBytes(data);
            int intTimeout = 120;
            PingReply objPinReply = objPingSender.Send(strIpOrDName, intTimeout, buffer, objPinOptions);
            string strInfo = objPinReply.Status.ToString();
            if (strInfo == "Success")
            {
                return true;
            }
            else
            {
                return false;
            }
        }
        catch (Exception)
        {
            return false;
        }
    }
    #endregion
}

}

// 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yhrch/archive/2007/11/05/1867546.aspx

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值