黑马程序员-窗体应用中ping

本文介绍了如何在C#的WinForm应用程序中使用Ping方法来测试网络连接和获取主机响应时间。通过示例代码展示了如何执行类似于命令行ping命令的操作,强调了此类基础知识在实际编程中的重要性。
摘要由CSDN通过智能技术生成
---------------------- 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网址的信息,虽然很简单,但是我想这个练习还是很有必要的。只要有必要,我想用博客记录下来应该是正确的。

---------------------- ASP.Net+Unity开发.Net培训、期待与您交流! ----------------------详细请查看: www.itheima.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值