KingDZ 变菜鸟,每日一个C#小实例之---C#判断网络是否链接

今天,写一个代码比较少得例子,当然发现互联网站已经有了类似的文章了,哈哈,但是俺还是要写,变菜鸟吗?变就变得彻底。嘿嘿。今天发现一个朋友的文章里面提到的一点非常有意思。给大家展示一下

终于知道移动比联通牛的原因了!
1、在桌面上点右键,选择新建-文本文档;
2、打开"新建文本文档",录入"移动"两字后存盘退出;
3、重新打开"新建文本文档",看到什么了?
4、是不是刚刚录入的"移动"两字?


咱们换过来 :

1、在桌面上点右键,选择新建-文本文档;
2、打开"新建文本文档",录入"联通"两字后存盘退出;
3、重新打开"新建文本文档",看到什么了?
4、是不是刚刚录入的"联通"两字不见了,取而代之是个烧焦的手机电池的模样?

知道今天我才知道,为什么联通不给力了,哈哈。好了,不废话了,开始我们的小实例吧。

如何用C#判断网络是否连接呢,这个有N多方法,我们下面尽量说的完整一些。

第一种办法,最简单的,但是不准确,呵呵

private void btnIsConnect_Click(object sender, EventArgs e)
{
    if (SystemInformation.Network) {
        MessageBox.Show("已经联网,但是不确定是互联网还是局域网");
    }
}

2

这个办法在局域网下也是true

 

第二种办法 Ping 一个地址,我们就采用baidu要是baidu宕机了,哇塞,那就不怨谁了。哈哈

首先引用命名空间

using System.Net.NetworkInformation;

然后我们简单的实现一下,这种实现并不完美,慢慢的我们在完善他,

private void btnPing_Click(object sender, EventArgs e)
{
    Ping ping = new Ping();
    PingReply pr = ping.Send("baidu.com");
    if (pr.Status == IPStatus.Success) 
        MessageBox.Show("联网状态");
    else
        MessageBox.Show("你网线掉了啦");

}
ping.Send("baidu.com");
 
 
 
 
 
 
 
Ping ping = new Ping();
PingOptions poptions = new PingOptions();
poptions.DontFragment = true;
string data = string.Empty;
byte[] buffer = Encoding.ASCII.GetBytes(data);

准备数据到位,开始Send

 

int timeout = 1200;
           
PingReply reply = ping.Send(IPAddress.Parse("74.125.71.104"),timeout,buffer,poptions);
if (reply.Status == IPStatus.Success)
    MessageBox.Show("联网状态");
else
    MessageBox.Show("你网线掉了啦");
haha,好了,测试一下吧。
 
 
 
 
 
 
[DllImport("wininet")]
private extern static bool InternetGetConnectedState(out int connectionDescription, int reservedValue);

 
 
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384702%28v=vs.85%29.aspx
int i = 0;
if (InternetGetConnectedState(out i, 0))
  MessageBox.Show("联网状态");
else
  MessageBox.Show("你网线掉了啦");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

转载于:https://www.cnblogs.com/hihell/archive/2011/09/20/2182626.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值