方法一: 已经证实能用的.

  • using System;  
  • using System.Collections.Generic;  
  • using System.ComponentModel;  
  • using System.Data;  
  • using System.Drawing;  
  • using System.Text;  
  • using System.Windows.Forms;  
  • using System.Net;  
  • using System.Net.NetworkInformation;  
  •   
  • namespace PingIpAddress  
  • {  
  •     public partial class Form1 : Form  
  •     {  
  •         public Form1()  
  •         {  
  •             InitializeComponent();  
  •         }  
  •          
  •         private void Form1_Load(object sender, EventArgs e)  
  •         {  
  •               
  •               
  •         }   
  •         private Ping pingSender = new Ping();   
  •         private string strIP = "";   
  •         private void button1_Click(object sender, EventArgs e)  
  •         {  
  •             strIP = txtIP.Text;          //要ping的IP地址     第一种方法本人亲自试验过。可以使用  
  •             PingOptions pingOption = new PingOptions();  
  •             pingOption.DontFragment = true;  
  •   
  •             string data = "sendData:goodgoodgoodgoodgoodgood";  
  •             byte[] buffer = Encoding.ASCII.GetBytes(data);  
  •             int timeout = 120;  
  •             PingReply reply = pingSender.Send(strIP, timeout, buffer);  
  •             if (reply.Status == IPStatus.Success)  
  •             {  
  •                 MessageBox.Show("能ping通 ");  
  •             }  
  •             else  
  •             {  
  •                 MessageBox.Show("ping不通");  
  •             }  
  •         }  
  •     }  
  • }  

第二种方法: 没试过

  • C#判断网络状态  
  • 代码   
  • /// <summary>  
  • /// 是否能 Ping 通指定的主机  
  • /// </summary>  
  • /// <param name="ip">ip 地址或主机名或域名</param>  
  • /// <returns>true 通,false 不通</returns>  
  • public bool Ping(string ip)  
  • {  
  •     int timeout = 1000;  
  •     string data = "Test Data!";  
  •     System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping();  
  •     System.Net.NetworkInformation.PingOptions options = new System.Net.NetworkInformation.PingOptions();  
  •     options.DontFragment = true;  byte[] buffer = Encoding.ASCII.GetBytes(data);  
  •     System.Net.NetworkInformation.PingReply reply = p.Send(ip, timeout, buffer, options);  
  •     if (reply.Status == System.Net.NetworkInformation.IPStatus.Success) return trueelse return false;  
  • }  
posted on 2013-07-22 12:46  Haydy  阅读(2127)  评论(0编辑  收藏  举报