小编Vla*_*lad的帖子

如果花费很多时间c#,请跳到下一次迭代

我想从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命令.

谢谢,

弗拉德

c# ip loops ping timer

3
推荐指数
1
解决办法
73
查看次数

没有主键就从MYSQL数据库删除ROW

如何在不具有每一行唯一输入的列的情况下从数据库中删除一行?例:

    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)

mysql sql database primary-key sql-delete

2
推荐指数
1
解决办法
1984
查看次数

标签 统计

c# ×1

database ×1

ip ×1

loops ×1

mysql ×1

ping ×1

primary-key ×1

sql ×1

sql-delete ×1

timer ×1