方法一:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.NetworkInformation;
namespace 判断是否联网
{
class Program
{
static void Main(string[] args)
{
Ping p = new Ping();
PingReply pr;
pr = p.Send("119.75.218.45");//百度的IP
if (pr.Status != IPStatus.Success)//如果连接不成功
{
Console.WriteLine("未联网");
}
else
{
Console.WriteLine("已联网");
}
Console.Read();
}
}
}
- c#关于判断网络连接正常与否的总结
-
本人最近做c#winform的项目,遇到了判断网络是否正常连接的问题。后来查出了以下几种方法,供大家学习参考。
1.方法二(用异步调用)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Threading;
namespace WindowsFormsApplication1
{
public partial class Demo : Form
{
public Demo()
{
InitializeComponent();
}
//判断
private void btpanduan_Click(object sender, EventArgs e)
{
//210.192.120.228 163网易
string ip = this.txtip.Text.ToString();
int port = Convert .ToInt32( this.txtport.Text.ToString());
bool a = panduan(ip, port );//135为本机服务端口号
if (a == true)
{
MessageBox.Show("该网络连接正常 !");
}
else
{
MessageBox.Show("该网络连接不畅通 !");
}
}
// 异步调用
//判断的方法
public bool panduan(string ip, int port)
{
try
{
TcpClient client = new TcpClient(ip, port);
if (client.Connected)
{
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
}
}
2.利用 c# ping类
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
namespace WindowsFormsApplication1
{
public partial class Demo3 : Form
{
public Demo3()
{
InitializeComponent();
}
System.Net.NetworkInformation.Ping ping = new System.Net.NetworkInformation.Ping();
System.Net.NetworkInformation.PingReply res;
//检查网络连接
private void btcheck_Click(object sender, EventArgs e)
{string url = this.txturl.Text.ToString();
bool a = check(url);
if (a == true)
{
MessageBox.Show("连接成功!", "提示信息");}
else
{
MessageBox.Show("连接失败!", "提示信息");
}
}public bool check(string url)
{try
{
res = ping.Send(url);
if (res.Status == System.Net.NetworkInformation.IPStatus.Success)
{
return true;
}
else
{
return false;
}
}
catch {return false;
}
}
}
}