C#中检查网络是否连通的二种方法
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#中检查网络是否连通的二种方法的更多相关文章
- 【转】 C#中检查网络是否连通的二种方法
		
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 //方法一 5 using Syste ...
 - Oracle 11g 安装过程中“检查网络配置要求 未执行”解决方法
		
正在检查网络配置要求... 检查完成.此次检查的总体结果为: 未执行 网上查了一下,很多朋友都遇到这个问题而无从下手,其实解决起来很容易的. 只需要在 Windows XP 中安装 Microsoft ...
 - 服务器文档下载zip格式  SQL Server SQL分页查询  C#过滤html标签  EF 延时加载与死锁  在JS方法中返回多个值的三种方法(转载)  IEnumerable,ICollection,IList接口问题  不吹不擂,你想要的Python面试都在这里了【315+道题】   基于mvc三层架构和ajax技术实现最简单的文件上传  事件管理
		
服务器文档下载zip格式 刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...
 - 在Java Web程序中使用监听器可以通过以下两种方法
		
之前学习了很多涉及servlet的内容,本小结我们说一下监听器,说起监听器,编过桌面程序和手机App的都不陌生,常见的套路都是拖一个控件,然后给它绑定一个监听器,即可以对该对象的事件进行监听以便发生响 ...
 - (转载)Java中如何遍历Map对象的4种方法
		
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
 - mysql 远程连接数据库的二种方法
		
http://blog.csdn.net/freecodetor/article/details/5799550 一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5 ...
 - Java 获取*.properties配置文件中的内容 ,常见的两种方法
		
import java.io.InputStream; import java.util.Enumeration; import java.util.List; import java.util.Pr ...
 - Java中取小数点后两位(四种方法)
		
摘自http://irobot.iteye.com/blog/285537 Java中取小数点后两位(四种方法) 一 Long是长整型,怎么有小数,是double吧 java.text.D ...
 - mysql 远程连接数据库的二种方法
		
一.连接远程数据库: 1.显示密码 如:MySQL 连接远程数据库(192.168.5.116),端口"3306",用户名为"root",密码"123 ...
 
随机推荐
- [Entity Framework]获取部分字段的查询
			
using (var ObjectContext = new AgentSystemEntities()) { DateTime dt = new DateTime(1997, 1, 1); stri ...
 - Poj 3695-Rectangles  矩形切割
			
Rectangles Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3846 Accepted: 1124 Descri ...
 - attribute section的用法
			
1. gcc的__attribute__编译属性 要了解Linux Kernel代码的分段信息,需要了解一下gcc的__attribute__的编绎属性,__attribute__主要用于改变所声明或 ...
 - Java编程常见问题汇总
			
每天在写Java程序,其实里面有一些细节大家可能没怎么注意,这不,有人总结了一个我们编程中常见的问题.虽然一般没有什么大问题,但是最好别这样做.另外这里提到的很多问题其实可以通过Findbugs( h ...
 - 3  weekend110的job提交的逻辑及YARN框架的技术机制  +  MR程序的几种提交运行模式
			
途径1: 途径2: 途径3: 成功! 由此,可以好好比较下,途径1和途径2 和途径3 的区别. 现在,来玩玩weekend110的joba提交的逻辑之源码跟踪 原来如此,weekend110的job提 ...
 - hdoj 2087 剪花布条
			
剪花布条 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
 - 非常棒的jqChart图表插件
			
由于项目需要,做一些类似于OA系统的应用时,表格用到的是最多的,那么图表展示就先显得尤为的重要,其中柱柱状图.折线图.饼状图又居多. 之前一直使用的是Chrome下的googleAPI中提供的char ...
 - Oracle约束操作
			
约束的概念: 约束是在表中定义的用于维护数据库完整性的一些规则.通过为表中的字段定义约 束,可以防止将错误的数据插入到表中. 注意: 1.如果某个约束只作用于单独的字段,既可以在字段级定义约束,也可以 ...
 - [Node.js] Introduction to apiCheck.js
			
timeoutLog.js: var apiCheckFactory = require('api-check'); var myCheck = apiCheckFactory(); module.e ...
 - GO的跨平台数扰类型
			
基本数据类型的包装: 1.跨平台,用于移植 2.不同的框架类型包装的类型(MFC ,WIN32SDK,C) 3.基本数据类型的组装成的结构体 4.宏定义 数字类型 Go 也有基于架构的类型,例如:in ...