c#实现ping功能

思路
   首先添加一个文本框,用来接收IP地址。用IPAddress myip = IPAddress.Parse(textBox1.Text.ToString())把文本框内容变成IP地址,写到一个异常中,就可以省略掉判断IP地址是否正确了。
   定义一个ping的方法 System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping()
在定义一个接收ICMP返回的方法接收传回来的值
System.Net.NetworkInformation.PingOptions optiong = new System.Net.NetworkInformation.PingOptions()
定义好了发送接收后,定义数据包 string a=“11111111111111111111111111111111111“;
byte[] buffte=encondig.ASCII.getbytes(data); 把定义好的数据包变为2进制代码.
int timeout=1000;定义超时时间

peply.Address.ToString()  目标ip
peply.RoundtripTime.ToString() 返回时间
peply.Options.Ttl.ToString()  TTL生存周期
peply.Buffer.length  数据包大小

代码如下:


private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                IPAddress myip = IPAddress.Parse(textBox1.Text.ToString());
                System.Net.NetworkInformation.Ping p = new System.Net.NetworkInformation.Ping();
                System.Net.NetworkInformation.PingOptions optiong = new System.Net.NetworkInformation.PingOptions();
                optiong.DontFragment = true;
                string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
                byte[] buffer = Encoding.ASCII.GetBytes(data);
                int timeout = 1000;
                listBox1.Items.Add("Pinging ["+textBox1.Text+"] wiht 32 byte of data");
                for (int i = 0; i < 4; i++)
                {
                    
                    System.Net.NetworkInformation.PingReply peply = p.Send(myip, timeout, buffer, optiong);
                listBox1.Items.Add("Reply from "+textBox1.Text+": bytes="+peply.Buffer.Length+" time="+peply.RoundtripTime.ToString()+" TTL="+peply.Options.Ttl+"");
                }
                //listBox1.Items.Add(peply.Address.ToString());
                //listBox1.Items.Add(peply.RoundtripTime.ToString());
                //listBox1.Items.Add(peply.Options.Ttl.ToString());
                //listBox1.Items.Add(peply.Options.DontFragment.ToString());
                //listBox1.Items.Add(peply.Buffer.ToString());
              

            }
            catch (Exception ex)
            {
                MessageBox.Show("IP地址输入有误");
            }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值