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. Android开发必知--几种不同对话框的实现

    在开发过程中,与用户交互式免不了会用到对话框以实现更好的用户体验,所以掌握几种对话框的实现方法还是非常有必要的.在看具体实例之前先对AlertDialog做一个简单介绍.AlertDialog是功能最 ...

  2. uva 3523 Knights of the Round Table

    题意:给你n,m n为有多少人,m为有多少组关系,每组关系代表两人相互憎恨,问有多少个骑士不能参加任何一个会议. 白书算法指南 对于每个双联通分量,若不是二分图,就把里面的节点标记 #include ...

  3. How to compile pycrypto 2.4.1 (python 3.2.2 for Windows 7 x64)

    How to compile pycrypto 2.4.1 (python 3.2.2 for Windows 7 x64) Nov 10 Posted by alesk This note is a ...

  4. Python的基本语法,涵盖数据类型、循环判断、列表、map和set等

    以#开头的语句是注释 当语句以冒号“:”结尾时,缩进的语句视为代码块.一般缩进4个空格 Python程序是大小写敏感的,如果写错了大小写,程序会报错. Python的数据类型 整型 浮点型 字符串 布 ...

  5. mysql出现Got error 28 from storage engine错误

    今天晚上碰到app数据库出错Got error 28 from storage engine 服务程序出现这样的错误 Sql.Data---Error writing file '/tmp/ML2ig ...

  6. linux-centos挂载新硬盘操作

    类似的文章网上已经有很多,这里是记录重要操作的命令,精简流程 精简后的命令: fdisk -ldf -hfdisk /dev/vdbfdisk -l /dev/vdbmkfs -t ext4 /dev ...

  7. 【转】Android仿QQ截图应用测试

    使用过QQ的同学应该都用过QQ截图,Ctrl+Alt+A进入截图操作,通过拉伸,移动高亮区域的框体可以快速截取我们需要的图片.在android应用中,我们也经常需要截图操作,以下实现了一个类似QQ截图 ...

  8. 通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法

    在用本地的navicat连接服务器的mysql数据库时候出现下面的问题: 解决的方法: 解决方法: 1.改表法.可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhos ...

  9. poj 1149 Pigs 网络流-最大流 建图的题目(明天更新)-已更新

    题目大意:是有M个猪圈,N个顾客,顾客要买猪,神奇的是顾客有一些猪圈的钥匙而主人MIRKO却没有钥匙,多么神奇?顾客可以在打开的猪圈购买任意数量的猪,只要猪圈里有足够数量的猪.而且当顾客打开猪圈后mi ...

  10. android 76 使用get post方式提交数据

    get方式: package com.itheima.getmethod; import java.io.InputStream; import java.net.HttpURLConnection; ...