gpt4 book ai didi

C#如何等待代理ping?

转载 作者:太空宇宙 更新时间:2023-11-03 12:40:06 26 4
gpt4 key购买 nike

我正在尝试对代理执行 ping 操作,并计算在继续执行我的代码之前响应获得 ping 所需的时间,但是我的秒表太快了。我哪里出错了?

    private async void idunno()
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();


var x = await CanPing2();
Console.WriteLine("is proxy alvie: " + x);
stopWatch.Stop();

int ts = stopWatch.Elapsed.Milliseconds;

Console.WriteLine("RunTime " + ts);



Console.WriteLine("RunTime " + ts2);
}
public async Task<bool> CanPing2()
{

string ip = "170.130.59.107";
Console.WriteLine(ip);
Ping ping = new Ping();

try
{
PingReply reply = await ping.SendPingAsync(ip, 6000);
if (reply == null) return false;
Console.WriteLine("cp2 is alive: " + IPStatus.Success);
return (reply.Status == IPStatus.Success);
}
catch (PingException e)
{
Console.WriteLine("cp2: ex: " + IPStatus.Success);
return false;
}

}

最佳答案

问题是 TimeSpan.Milliseconds 实际上是自上一秒完全过去以来的毫秒数,而不是过去的毫秒总数。即,如果某些东西运行了 1500 毫秒,那么 Milliseconds 属性将返回 500,而不是 1500。您需要使用 stopWatch.Elapsed.TotalMilliseconds,顺便说一句,它是一个 double,不是 int

关于C#如何等待代理ping?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39381350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com