C# 实现 ICMP PING 功能
本代码会执行三次ping,并返回三次ping的平均延迟,单位为毫秒,如果网络不通,返回-1。
public static long ICMPPing(string host)
{
long roundtripTime = 0;
try
{
long totalTime = 0;
int timeout = 120;
int echoNum = 3;
Ping pingSender = new Ping();
int succCount = 0;
for (int i = 0; i < echoNum; i++)
{
PingReply reply = pingSender.Send(host, timeout);
if (reply.Status == IPStatus.Success)
{
totalTime += reply.RoundtripTime;
succCount++;
}
}
if (succCount == 0) return -1;
roundtripTime = totalTime / succCount;
}
catch
{
return -1;
}
return roundtripTime;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?