我想从192.168.1.1 ping到192.168.1.255
所以我用
FOR(i=1;i<=255;i++)
//each time, I test the IP address by pinging it with the following code
try {
PingReply reply = pinger.Send(AdresaIp);
pingable = reply.Status == IPStatus.Success;
}
catch (PingException)
{
// Discard PingExceptions and return false;
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是:
PingReply reply = pinger.Send(AdresaIp);
pingable = reply.Status == IPStatus.Success;
Run Code Online (Sandbox Code Playgroud)
当ping成功时,上面的两行的执行时间为2毫秒,但是当它失败时(会发生多次)它需要大约3秒,如果我ping 255个IP,那就太大了.
所以我想以下列方式实现一个计时器:
if (timer > 1 second) continue;
//if it takes more than 1 second for the current iteration jump to the next
Run Code Online (Sandbox Code Playgroud)
迭代.
我试过了System.Diagnostics.Stopwatch.StartNew(,但是没有为我工作,因为它给了我测试ping之后的时间.我需要一些能让我检查ping测试工作的东西,所以当它达到1秒时,我可以使用CONTINUE命令.
谢谢,
弗拉德
如何在不具有每一行唯一输入的列的情况下从数据库中删除一行?例:
Surname Name Age
Mark Oswell 12
Adrian Peterson 15
Mark Penda 18
July Peterson 12
Run Code Online (Sandbox Code Playgroud)
执行此操作的基本方法是:
DELETE FROM ____ WHERE ____
Run Code Online (Sandbox Code Playgroud)
如果我删除WHERE surname = Mark,我将不会只删除1行,而是2行。解决此问题的最佳方法是使用主键,但是我不能使用它(长话短说,不要问为什么:))。所以我需要另一种方法来解决这个问题。
有什么办法可以删除行号?
例如,假设我要使用删除行Mark Penda 18。我可以做类似的事情吗:
DELETE FROM ____ WHERE row = 3
Run Code Online (Sandbox Code Playgroud) c# ×1
database ×1
ip ×1
loops ×1
mysql ×1
ping ×1
primary-key ×1
sql ×1
sql-delete ×1
timer ×1