using System;
  2 using System.Collections.Generic;
  3 using System.Text;
  4 //方法一
  5 using System.Runtime;
  6 using System.Runtime.InteropServices;
  7 //方法二 Net2.0新增类库
  8 using System.Net.NetworkInformation;
  9 
 10 namespace InternetCheck
 11 {
 12     public class Internet
 13     {
 14         [DllImport("wininet.dll")]
 15         private extern static bool InternetGetConnectedState(int Description, int ReservedValue);
 16 
 17         #region 方法一
 18         /// <summary>
 19         /// 用于检查网络是否可以连接互联网,true表示连接成功,false表示连接失败 
 20         /// </summary>
 21         /// <returns></returns>
 22         public static bool IsConnectInternet()
 23         {
 24             int Description = 0;
 25             return InternetGetConnectedState(Description, 0);
 26         }
 27         #endregion
 28 
 29         #region 方法二
 30         /// <summary>
 31         /// 用于检查IP地址或域名是否可以使用TCP/IP协议访问(使用Ping命令),true表示Ping成功,false表示Ping失败 
 32         /// </summary>
 33         /// <param name="strIpOrDName">输入参数,表示IP地址或域名</param>
 34         /// <returns></returns>
 35         public static bool PingIpOrDomainName(string strIpOrDName)
 36         {
 37             try
 38             {
 39                 Ping objPingSender = new Ping();
 40                 PingOptions objPinOptions = new PingOptions();
 41                 objPinOptions.DontFragment = true;
 42                 string data = "";
 43                 byte[] buffer = Encoding.UTF8.GetBytes(data);
 44                 int intTimeout = 120;
 45                 PingReply objPinReply = objPingSender.Send(strIpOrDName, intTimeout, buffer, objPinOptions);
 46                 string strInfo = objPinReply.Status.ToString();
 47                 if (strInfo == "Success")
 48                 {
 49                     return true;
 50                 }
 51                 else
 52                 {
 53                     return false;
 54                 }
 55             }
 56             catch (Exception)
 57             {
 58                 return false;
 59             }
 60         }
 61         #endregion
 62     }
 63 }

C#中检查网络是否连通的二种方法的更多相关文章

  1. 【转】 C#中检查网络是否连通的二种方法

      1 using System;  2 using System.Collections.Generic;  3 using System.Text;  4 //方法一  5 using Syste ...

  2. Oracle 11g 安装过程中“检查网络配置要求 未执行”解决方法

    正在检查网络配置要求... 检查完成.此次检查的总体结果为: 未执行 网上查了一下,很多朋友都遇到这个问题而无从下手,其实解决起来很容易的. 只需要在 Windows XP 中安装 Microsoft ...

  3. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  4. 在Java Web程序中使用监听器可以通过以下两种方法

    之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响 ...

  5. (转载)Java中如何遍历Map对象的4种方法

    在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...

  6. mysql 远程连接数据库的二种方法

    http://blog.csdn.net/freecodetor/article/details/5799550 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5 ...

  7. Java 获取*.properties配置文件中的内容 ,常见的两种方法

    import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...

  8. Java中取小数点后两位(四种方法)

    摘自http://irobot.iteye.com/blog/285537 Java中取小数点后两位(四种方法)   一 Long是长整型,怎么有小数,是double吧     java.text.D ...

  9. mysql 远程连接数据库的二种方法

    一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123 ...

随机推荐

  1. Delta-wave

    Delta-wave Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...

  2. 学习手工创建表,表关系以及用exists 来查询

    ---创建表a If exists(select * from sysobject where [name]=='a' and xType = 'u') Begin Drop table aa End ...

  3. glsl-UBO

    UBO 是什么?为何要用UBO? 1.数据共享设计 采用Block的原因是: 如果你的程序中包含了多个着色器,而且这些着色器使用了相同的Uniform变量,你就不得不为每个着色器分别管理这些变量.Un ...

  4. JavaScript高级程序设计42.pdf

    IE中的事件对象 要访问IE中的event对象有几种不同的方式,取决于指定事件处理程序的方法.在使用DOM0级方法添加事件处理程序时,event对象作为window对象的一个属性存在 wondow.e ...

  5. Android Fragment 多标签应用

    1.使用Fragment 可以方便的替代TabActivity.ViewGroup 2.同时也省去了在AndroidManifest.xml文件中 添加相应的Activity 3.Fragment 是 ...

  6. 网易云音乐 歌词制作软件 BesLyric

    导读 哈哈,喜欢网易云音乐,又愁于制作歌词的童鞋有福啦! BesLyric 为你排忧解难! 上个周末在用网易云音乐听歌,发现一些喜欢的歌还没有滚动歌词,然而网易云音乐还没有自带的歌词编辑功能,要制作歌 ...

  7. Linux后门入侵检测工具,附bash漏洞解决方法[转载]

    转自:http://blog.jobbole.com/77663/ 官网 ClamAV杀毒软件介绍 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是 ...

  8. c#判断输入textbox是否为数字

    asp.net判断输入文字是否是数字 方案一:/**//// <summary> /// 名称:IsNumberic /// 功能:判断输入的是否是数字 /// 参数:string oTe ...

  9. Mysql show Status参数详解

    状态名 作用域 详细解释 Aborted_clients Global 由于客户端没有正确关闭连接导致客户端终止而中断的连接数 Aborted_connects Global 试图连接到MySQL服务 ...

  10. linux 0.11 源码学习+ IO模型

    http://www.cnblogs.com/Fredric-2013/category/696688.html