----------------------
ASP.Net+Unity开发、
.Net培训、期待与您交流! ----------------------
Ping方法可以返回主机地址,往返时间,生存时间等信息,可以用来测试网络,主机响应时间等,
布局如下:
代码如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net.NetworkInformation;// ----注意引用-----
namespace pingip
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
this.lst_PingResult.Items.Clear();
//远程服务器IP
string ipStr = txt_IPAddress.Text.ToString().Trim();
//构造Ping实例
Ping pingSender = new Ping();
//ping选项设置
PingOptions options = new PingOptions(64, true);
options.DontFragment = true;
//测试数据
string data = "text data abcabc";
byte[] buffer = Encoding.ASCII.GetBytes(data);
//设置超时时间
int timeout = 12000;
//调用同步send 方法发送数据,将返回结果保存至PingReply实例
PingReply reply = pingSender.Send(ipStr, timeout, buffer, options);
if (reply.Status == IPStatus.Success)
{
lst_PingResult.Items.Add("答复的主机地址:" + reply.Address.ToString());
lst_PingResult.Items.Add("往返时间:" + reply.RoundtripTime);
lst_PingResult.Items.Add("生存时间(TTL):" + reply.Options.Ttl);
lst_PingResult.Items.Add("是否控制数据包的分段:" + reply.Options.DontFragment);
lst_PingResult.Items.Add("缓冲区大小:" + reply.Buffer.Length);
}
else
{
lst_PingResult.Items.Add(reply.Status.ToString());
}
}
}
}
演示结果如下:
这个其实就是练手,让我知道了怎么用C#写的代码执行我们一般在cmd中输入ping网址的信息,虽然很简单,但是我想这个练习还是很有必要的。只要有必要,我想用博客记录下来应该是正确的。