私は問題があります。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アドレスを正しく見つけますが、文字列を受信するのに時間がかかります。どうすれば効率を改善して、IP10.0.0.n
で文字列を見つけたときに、その後IPに接続できるようにできます10.0.0.n + 1
か?(例:10.4.8.12から文字列を受信したが、IPが10.4.8.13である場合)
正しい手順を使用しているかどうか誰かに教えてもらえますか?そうでない場合、最良の方法は何でしょうか?
ありがとう