2017-11-29 13 views
-2

サブネットスキャナがあり、ネットワークをスキャンすると実行中のプロセスが表示されます。サブネットが間違っているとエラーメッセージを表示します

私は今問題があります。192.168.0でサブネットを検索する必要がありますが、誰かが192.168.0.1を見つけたらエラーメッセージを表示しますか?

プログラムがクラッシュしました。

マイコード:

for (int i = 1; i < 255; i++) 
{ 
    string subnetn = "." + i.ToString(); 
    myPing = new Ping(); 
    reply = myPing.Send(subnet + subnetn, 10); //Here it throws error. {"An exception occurred during a Ping request."} 
    MetroMessageBox.Show(Owner, "Problem " + reply.ToString() + " .", "Ended", MessageBoxButtons.OK, MessageBoxIcon.Error); 

    StaatuseTeave.ForeColor = System.Drawing.Color.Green; 
    StaatuseTeave.Text = "Scanning.. - " + subnet + subnetn; 

またはどのように彼は、それはまた、正しくスキャンを開始192.168.0.1をしようとした場合、私は行うことができますか?

+0

あなたの入力を検証するには簡単な答えがあります。どのようにサブネットthats/30を扱うのですか?あなたはIPを入力している人とは別にそれをどのように伝えますか? – BugFinder

+0

@BugFinder私はそれについて考えなかった。しかし、それはちょうど高速ネットワーク全体をスキャン開始します。 – Stacker

答えて

0
var array = subnet.Split('.'); 
if (array.Length != 3) 
{ 
    //show error message 
} 
+0

はいは、エラーメッセージを正しく示します。しかし、ここでもクラッシュする 'reply = myPing.Send(subnet + subnetn、10); //ここでエラーが発生します。 {"Ping要求中に例外が発生しました。"} '私はエラーメッセージを閉じます。 – Stacker

+0

tryを追加してください...... – BugFinder

+0

コードのみの回答は問題の解決策を提供するかもしれませんが、何らかの形の説明がこれをより有用な答えにするのに役立ちます。 –