zoukankan      html  css  js  c++  java
  • c# 判断一个ip通不通 能不能ping通

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

    • 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;  
    • }  
  • 相关阅读:
    webpack.DefinePlugin
    webpack-dev-server配置指南(使用webpack3.0)
    Eclipse配色方案插件
    解决Sublime Text 3中文显示乱码问题(转)
    Java连接SqlServer2008数据库
    [转]java中判断字符串是否为数字的三种方法
    VS2008 SP1 安装卡在 VS90sp1-KB945140-X86-CHS的解决方法
    Python获取桌面路径
    关于fdisk命令
    socket 错误之:OSError: [WinError 10057] 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。
  • 原文地址:https://www.cnblogs.com/yuhanzhong/p/3205101.html
Copyright © 2011-2022 走看看