三.掃描網絡計算機的原理:
下面介紹的這個示例的功能是通過掃描一個給定區間IP地址,來判斷這些IP地址對應的計算機是否在線,如果在線則獲得IP地址對應的計算機名稱。程序判斷計算機是否在線的是采用對給定IP地址的計算機進行DNS解析,如果能夠根據IP地址解析出對應的計算機名稱,則說明此IP地址對應的計算機在線;反之,如果解析不出,則會產生異常出錯,通過對異常的捕獲,得到此IP地址對應的計算機並不在線。
為了更清楚地說明問題和便於掌握在Visual C#編寫多線程網絡應用程序的方法,本文首先介紹的是不基於多線程的網絡計算機掃描程序的編寫步驟,然後再在其基礎上,把它修改成多線程的計算機掃描程序,最後比較這二個程序的執行效率,你就會發現線程在網絡編程中的重要作用了。
四.Visual C#實現不基於多線程的網絡計算機掃描程序
以下是在Visual C#實現不基於多線程的網絡計算機掃描程序步驟:
1. 啟動Visual Studio .Net,並新建一個Visual C#項目,項目名稱為【掃描網絡計算機】。
2. 把Visual Studio .Net的當前窗口切換到【Form1.cs(設計)】窗口,並從【工具箱】中的【Windows窗體組件】選項卡中往Form1窗體中拖入下列組件,並執行相應操作:
四個NumericUpDown組件,用以組合成一個IP地址區間。
一個ListBox組件,用以顯示掃描後的結果。
一個ProgressBar組件,用以顯示程序的運行進度。
四個Label組件,用以顯示提示信息。
一個GroupBox組件。
一個Button組件,名稱為button1,並在這組件拖入窗體後,雙擊button1,這樣Visual Studio .Net就會產生這button1組件Click事件對應的處理代碼。
界面設置如下圖:
圖01:【掃描網絡計算機】項目的設計界面