我有个问题。我想接收一个使用 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)
谁能告诉我我是否使用了正确的程序?如果没有,最好的方法是什么?
谢谢