我有一个脚本,每秒钟循环一次并向主机发送ping。其目的是测试我家网络的无线性能。问题是,我的脚本似乎会出现超时,而客户端(pingER和pingEE)上的标准“ping -t”没有这样的超时。事实上,在过去的30分钟中,两者都没有超时,而我的脚本每隔几分钟就会收到超时回复。
以下是我的基本脚本。在所有情况下,当发生这种情况时,我的回复是TimedOut,并且响应时间为0ms。我的脚本是否导致了虚假超时?谢谢。
编辑:更新代码以反映最新更改,仍然具有相同的行为。
以下是我的基本脚本。在所有情况下,当发生这种情况时,我的回复是TimedOut,并且响应时间为0ms。我的脚本是否导致了虚假超时?谢谢。
编辑:更新代码以反映最新更改,仍然具有相同的行为。
while (true)
{
System.Threading.Thread.Sleep(delay);
var builder = new StringBuilder();
hosts.ForEach(h =>
{
var buffer = new byte[32];
var reply = ping.Send(h, 4000, buffer, new PingOptions(600, true));
var error = reply.Status != IPStatus.Success || reply.RoundtripTime > maxRoundTrip;
if (verbose || error)
{
builder.AppendFormat("{0}: {1} ({2}ms)", h, reply.Status, reply.RoundtripTime);
builder.Append(Environment.NewLine);
if (error)
{
WriteLog(h, reply);
SendEmail(h, reply);
}
}
});
Console.WriteLine(DateTime.Now);
Console.WriteLine(builder.ToString());
}