【发布时间】:2013-11-21 21:15:20
【问题描述】:
我正在做的是在后台工作程序中运行以下代码。我的问题是 Ping.send() 方法需要几秒钟(6-8)才能回复超时。我想做的是,在 x 时间后取消/终止 Ping.Send 方法,或者,如果它有可能在 2-3 秒内自行超时。我玩了一个计时器,但我无法让它工作。有人对我应该如何执行此操作有建议吗?
编辑:当回复成功时,它会在相当长的时间内回复,我可以接受。
Ping ping = new Ping();
byte[] buffer = new byte[bufferSize];
PingOptions pingOpt = new PingOptions(128, true);
try
{
PingReply pingReply = ping.Send(PCName, 10, buffer, pingOpt);
if (pingReply.Status == IPStatus.Success)
{
//Do Something
}
else
{
//Do Something
}
}
catch
{
//Do Something
}
【问题讨论】:
-
您已经提供超时值...
-
是的。我不是要杀死后台工作人员。如果可能的话,只需 Ping.Send()。
-
@HiTech 你已经在做什么了……我没看到问题。
-
我想如果我提供的超时值应该在 10 毫秒后超时。然后超时不起作用...因为我坐等大约 8 秒 ping 我的局域网上的一台计算机。 @Servy 你现在看到问题了吗?
标签: c# .net winforms backgroundworker ping