1

我有个问题。我想接收一个使用 IP 地址作为 Uri 的字符串。我不知道 IP 地址,所以我正在扫描从 0 到 20 的 IP 地址范围(见下面的代码)。当从特定 IP 接收到字符串时,我使用该 IP 地址连接到该服务器。

string IP = "10.0.0."
int i = 0;
isIPFound = false;

GetStatus() {
    string uri = "http://"  + IP + i.ToString() + "somepath";
    client.DownloadStringCompleted +=  
        new DownloadStringCompletedEventHandler(client_downloadStringCompleted);
    client.DownloadStringAsync(new Uri(uri));           
}

client_downloadStringCompleted(s,e)
{
   if (e.Error == null) {
       isIPfound = true;
   } else {
       if (i < 20) {
           i++;
           GetStatus(i);
       }
   }
}

代码正确定位 IP 地址,但接收字符串需要时间。如何提高效率,以便当它在 IP 中找到字符串时10.0.0.n,它随后会连接到 IP 10.0.0.n + 1?(例如:如果它从 10.4.8.12 收到字符串但 IP 是 10.4.8.13)

谁能告诉我我是否使用了正确的程序?如果没有,最好的方法是什么?

谢谢

4

0 回答 0