📜  如何在 C# 表单中 ping - C# (1)

📅  最后修改于: 2023-12-03 15:08:34.819000             🧑  作者: Mango

如何在 C# 表单中 Ping

简介

Ping 是网络工具中常用的命令,用于检测主机是否可达并测量从本地主机到目标主机的往返传输时间(RTT)。在 C# 表单中,我们可以使用 .NET Framework 中的 System.Net.NetworkInformation 命名空间提供的 Ping 类实现此功能。

步骤
  1. 在项目中添加对 System.Net.NetworkInformation 命名空间的引用。
using System.Net.NetworkInformation;
  1. 创建 Ping 实例。
Ping ping = new Ping();
  1. 使用 Ping.Send 方法进行 Ping 操作。
PingReply reply = ping.Send("www.example.com");
  1. 判断 Ping 操作是否成功。
if (reply.Status == IPStatus.Success)
{
    // Ping 操作成功
}
else
{
    // Ping 操作失败
}
  1. 获取 Ping 操作结果。
long time = reply.RoundtripTime; // 往返传输时间
IPAddress address = reply.Address; // 目标主机 IP 地址
示例

下面是一个简单的示例代码,演示如何在 C# 表单中 Ping 指定的主机,并将结果显示在 label 控件中。

using System;
using System.Net.NetworkInformation;
using System.Windows.Forms;

namespace PingExample
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Ping ping = new Ping();
            PingReply reply = ping.Send(textBox1.Text);

            if (reply.Status == IPStatus.Success)
            {
                label1.Text = $"Ping {textBox1.Text} 成功,往返传输时间:{reply.RoundtripTime}ms";
            }
            else
            {
                label1.Text = $"Ping {textBox1.Text} 失败,错误码:{reply.Status}";
            }
        }
    }
}
结论

通过以上简单的步骤,我们可以在 C# 表单中轻松地实现 Ping 功能,方便地检测主机的可达性。