我需要确定是否发生超时并将条目保存到列表数组中。
这是我ping并将往返值添加到一个列表数组的方法:
static void Ping()
{
Console.Write(Environment.NewLine + "Start the test? (y/n): ");
if (Console.ReadLine().ToLower() == "y")
{
List<int> lag = new List<int>();
Console.WriteLine();
for (int server = 1; server <= 139; server++)
{
string url = "world" + server.ToString() + ".runescape.com";
Console.WriteLine("Checking world " + server + "...");
Ping ping = new Ping();
PingReply reply = ping.Send(url);
lag.Add(int.Parse(reply.RoundtripTime.ToString()));
}
// ... More Code Here ...
}
}
怎么做?
答案 0 :(得分:2)
请参阅状态属性
reply.Status
它返回一个应具有相应状态的IPStatus。
答案 1 :(得分:0)
您似乎需要使用PingReply.Status中的值来确定是否发生超时。 MSDN文档声明:
如果Status的值不是Success,则不应使用这些值 由RoundtripTime,Options或Buffer属性返回。该 RoundtripTime和Buffer属性将返回零和Options 属性将返回null。
http://msdn.microsoft.com/en-us/library/system.net.networkinformation.pingreply.status.aspx