C#Ping功能实现

C#的网络诊断工具写起来其实没你想的那么麻烦,尤其是实现一个 ping 功能,几行代码就能搞定。

用的是System.Net.NetworkInformation这个命名空间,里面自带的Ping类用起来挺方便。你只需要 new 一个Ping对象,用Send方法扔个域名或 IP 过去,看看有没有回声响应。

比如你写个这样的小段子:

Ping ping = new Ping();
PingReply reply = ping.Send("www.google.com");
if (reply.Status == IPStatus.Success) {
  Console.WriteLine($"Ping 成功,延迟:{reply.RoundtripTime} ms");
} else {
  Console.WriteLine($"Ping 失败,状态:{reply.Status}");
}

响应也快,代码也简单。如果你搞的是网络应用,或者要做点什么课程设计,拿它练手还挺合适的。

你还可以扩展功能,比如循环 ping、设置超时、自定义包大小,甚至做个小工具监控网络状态。多网络监控工具背后其实就是这个逻辑,封装一下 UI 就能上手用。

哦对了,压缩包里的www.pudn.com.txt会有额外的文档,有兴趣可以翻翻。而PING 程序率就是源码示例,初学者照着跑一遍收获挺大的。

如果你想更深入理解网络通信,顺手把ICMP 协议也学一下,那就更扎实了。搞清楚这些,对你写更高级的网络应用也有。

zip 文件大小:45.99KB