版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p> 傳感網(wǎng)技術(shù)課程設計說明書</p><p> 題 目: 本地計算機網(wǎng)絡信息管理</p><p> 系 別: 計算機科學與工程 </p><p> 專 業(yè): 信息安全 </p><p> 學生姓名: xxx </p&
2、gt;<p> 學 號: 00000000000 </p><p> 指導教師: xx </p><p> 2013年 3 月 18 日</p><p><b> 摘 要</b></p><p> 本機網(wǎng)絡信息管理
3、器提供了有關(guān)計算機性能的信息,并顯示了計算機上主要設備信息;如果連接到網(wǎng)絡,那么還可以查看網(wǎng)絡狀態(tài)并迅速了解網(wǎng)絡是如何工作的。它的用戶界面提供了設置網(wǎng)絡信息的選項,其下還有具體的內(nèi)容設置,而且這里可以查看到當前系統(tǒng)的CPU使用比率、內(nèi)存等數(shù)據(jù),默認設置下系統(tǒng)每隔兩秒鐘對數(shù)據(jù)進行1次自動更新。</p><p><b> 目 錄</b></p><p> 緒論
4、………………………………………………………………………………01</p><p> 1.1 IP/TCP協(xié)議常識 …………………………………………………………08</p><p> 1.2 Socket的簡介 ……………………………………………………………09</p><p> 規(guī)劃設計 …………………………………………………………………………11<
5、/p><p> 2.1 課題來源 ……………………………………………………………………11</p><p> 2.2 需求分析 …………………………………………………………………11</p><p> 系統(tǒng)分析與設計方案 ……………………………………………………………12</p><p> 3.1 聊天系統(tǒng)的總體設計要點 …………
6、……………………………………12</p><p> 3.2 聊天系統(tǒng)的設計步驟及功能模塊劃分 ……………………………………12</p><p> 3.3 功能模塊結(jié)構(gòu)圖 …………………………………………………………13</p><p> 系統(tǒng)設計環(huán)境與測試 …………………………………………………………26</p><p> 4
7、.1 開發(fā)環(huán)境和工具 …………………………………………………………26</p><p> 4.2 硬件環(huán)境 ……………………………………………………………………26</p><p> 4.3 聊天系統(tǒng)的測試 …………………………………………………………26</p><p> 課程設計總結(jié) ……………………………………………………………………28<
8、/p><p> 5.1 課程設計總結(jié) ………………………………………………………………28</p><p> 5.2 經(jīng)驗和感想 …………………………………………………………………28</p><p> 參考文獻 …………………………………………………………………………31</p><p><b> 緒論</b>&l
9、t;/p><p> 隨著互聯(lián)網(wǎng)逐步普及,人們的生活和工作也越來越離不開信息網(wǎng)絡的支持, 而聊天室是人們最常見, 最直接的網(wǎng)上交流的方式。本信息管理系統(tǒng)以網(wǎng)絡設置為主,為廣大用戶提供一個簡潔的、方便的網(wǎng)絡設置方式,也是使網(wǎng)絡設置更簡單,更適用于對電腦了解不多的用戶。本文所介紹的網(wǎng)絡信息管理系統(tǒng)是基于開放的C#應用程序開發(fā)設計的,其主要特性是能動態(tài)、實時的完成信息的傳遞,且具有高效的交互性,更有效的反映本機的網(wǎng)絡設置狀
10、況,易于維護和更新,其運行所需環(huán)境及其工作流程和各個功能控件的工作原理將在本文依次介紹,并且文中提供了部分程序源代碼。</p><p> 1.1 IP/TCP協(xié)議常識</p><p> (1)IP、TCP協(xié)議的特點:</p><p> TCP/IP(Transmission Control Protocol/Internet Protocol)是傳輸控制協(xié)議/
11、網(wǎng)際協(xié)議的縮寫, TCP/IP是當今網(wǎng)絡互聯(lián)的核心協(xié)議。TCP/IP協(xié)議的體系結(jié)構(gòu)共有四個層次,即應用層、傳輸層、網(wǎng)絡互聯(lián)層和網(wǎng)絡接口層。</p><p> IP協(xié)議的作用:第一,它是網(wǎng)絡層的協(xié)議,提供互聯(lián)網(wǎng)上數(shù)據(jù)傳輸?shù)慕y(tǒng)一格式。第二,提供不可靠的無連接的服務。第三,定義了互聯(lián)網(wǎng)上的傳輸數(shù)據(jù)的基本單元,提供了供路由選擇的信息,沒有差錯校驗和處理的機制。</p><p> TCP協(xié)議的功
12、能:差錯控制——可靠性、面向連接、分段(Segment)、端口號。TCP是傳輸控制協(xié)議,是面向連接的提供了一種可靠的傳輸服務,它用三次握手和滑動窗口機制來保證傳輸?shù)目煽啃?,及進行流量控制。</p><p> TCP/IP協(xié)議具有以下特點:</p><p> 協(xié)議標準具有開放性,其獨立于特定的計算機硬件及操作系統(tǒng),可以免費使用。</p><p> 統(tǒng)一分配網(wǎng)絡地
13、址,使得每個TCP/IP 設備在網(wǎng)絡中都具有唯一的IP地址。</p><p> 實現(xiàn)了高層協(xié)議的標準化,能為用戶提供多種可靠的服務。</p><p> (2)TCP/IP協(xié)議進行傳輸數(shù)據(jù)傳輸?shù)倪^程:</p><p> 應用程序為了傳輸數(shù)據(jù)會調(diào)用TCP,將數(shù)據(jù)和對應的參數(shù)傳給TCP,將TCP 數(shù)據(jù)包封裝在IP包內(nèi),通過網(wǎng)絡送給目的TCP。接收方TCP在接收到數(shù)
14、據(jù)后通知上層應用程序,TCP將保證接收數(shù)據(jù)的正確性。在實現(xiàn)TCP的主機上,TCP可以被看成是一個模塊,和文件系統(tǒng)區(qū)別不大,TCP 也可以調(diào)用一些操作系統(tǒng)的功能,TCP不直接和網(wǎng)絡打交道,控制網(wǎng)絡的任務由專門的設備驅(qū)動模塊完成。TCP只是調(diào)用IP接口,向TCP提供所有TCP需要的服務。</p><p><b> (3)端口號:</b></p><p> 有的時候,一
15、個ip地址不能完整的標識一臺服務器,這是應為一臺物理性的計算機同時運行著多個應用程序,這就需要我們來區(qū)別同一臺機子上的不同的服務,所以就在傳輸層和應用層上設置接口,就是 端口。端口實際是一個16位長的 地址,他的范圍是0~65535之間,其中0~1023是熟知端口,主要是給提供服務的應用程序使用,這些端口是所有應用進程都只道的,1024~65535為一般端口,也稱動態(tài)端口、連接端口,用來隨時分配要求通信的個客戶端應用程序。在數(shù)據(jù)傳輸過程
16、中,各種服務器不斷的檢測分配給他的端口,一邊發(fā)現(xiàn)要求和他通信的客戶端。</p><p> Windows Management Instrumentation,Windows 管理規(guī)范</p><p> WMI(Windows Management Instrumentation,Windows 管理規(guī)范)是一項核心的 Windows 管理技術(shù);用戶可以使用 WMI 管理本地和遠程計算
17、機。</p><p> Windows 2K/XP和Windows 98 都支持WMI;如果為NT 4.0和Windows 95加上了 Service Pack 4或更高版本,N </p><p><b> WMI</b></p><p> T 4.0和Win95也支持WMI。因此,用WMI進行遠程管理時,并非一定要用Windows 2K
18、/XP(當然,如果WMI腳本在一臺沒有性能監(jiān)視器的Win9x機器上運行,就不能在遠程Win9x系統(tǒng)上查詢Windows 2K/XP的性能監(jiān)視器。 </p><p> 如前所述,WMI允許通過一個公共的接口訪問多種操作系統(tǒng)構(gòu)成單元,因此不必分別對待各種底層接口或所謂的“提供者”。利用WMI可以高效地管理遠程和本地的計算機;與此相對,并非所有的Windows 2K/XP命令行工具都支持遠程運行。 </p>
19、;<p> WMI是WBEM模型的一種實現(xiàn)。WBEM即Web-Based Enterprise Management,或基于Web的企業(yè)管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任務組)在許多廠商的幫助下創(chuàng)立,包括Compaq、Sun、Microsoft等。WBEM的目標是,為管理企業(yè)環(huán)境開發(fā)一個標準的接口集。WBEM模型最關(guān)鍵的部分是它的數(shù)據(jù)模型(或描述和定
20、義對象的方式)、編碼規(guī)范(Encoding Specification),以及在客戶端和服務器端之間傳輸數(shù)據(jù)的模式。 </p><p> WBEM的數(shù)據(jù)模型是CIM(Common Information Model,公共信息模型)。CIM是一個用來命名計算機的物理和邏輯單元的標準的命名系統(tǒng)(或稱為命名模式),例如硬盤的邏輯分區(qū)、正在運行的應用的一個實例,或者一條電纜。 </p><p>
21、 CIM是一個面向?qū)ο蟮哪P停褂靡唤M面向?qū)ο蟮男g(shù)語進行描述。CIM包含類(Class),類是被管理單元的模板。類的實例稱為對象(Object),對象代表著底層系統(tǒng)的一個具體單元。名稱空間(Namespace)是一個類的集合,每個名稱空間面向一個特定的管理領域。類包含屬性(Property)和方法(Method)。 </p><p> CIM分三層。第一層是核心模型(Core Model),這一層包含的類定義
22、對于所有管理領域來說都是共同的。第二層是公共模型(Common Model),這一層包含的類定義對于特定的管理領域來說是公共的,但與具體的操作系統(tǒng)和系統(tǒng)設計無關(guān)。第三層是擴展模型(Extension model),這一層包含的類定義與特定的操作系統(tǒng)或技術(shù)有關(guān)。 </p><p> WMI是Microsoft擴展CIM 2.0得到的面向Win32系統(tǒng)的擴展模型。引用WMI類和屬性的形式是“擴展前綴_類名稱.屬性名
23、稱”,例如Win32_ComputerSystem. Name,其中Win32是CIM模式cimv2名稱空間內(nèi)WMI擴展類的前綴,ComputerSystem是類,Name是屬性。 </p><p> 編寫WMI腳本的很大一部分工作涉及到讀取和設置屬性值。當前,WMI提供的方法還很有限,但隨著時間的推移,相信WMI和CIM提供的方法都會越來越豐富。</p><p><b>
24、2 規(guī)劃設計</b></p><p> 本信息管理系統(tǒng)分為三個部分:</p><p> ?。保紫仁?,是對本機的基本信息的獲取,包括CPU、內(nèi)存等,以及網(wǎng)絡信息的獲取,包括域名、工作組等,最后還用CPU、內(nèi)存等使用情況的監(jiān)視。 ?。玻浯?,是對本機的所有可用網(wǎng)絡適配器的設置,包括IP地址、子網(wǎng)掩碼、DNS服務器地址等等。</p><p> 3.然
25、后,是對本機的共享內(nèi)容的管理,包括共享文件夾的添加和取消,網(wǎng)絡服務的查看等。</p><p> 4.最后,是對所有本機網(wǎng)絡連接的監(jiān)控和統(tǒng)計。</p><p> 3 系統(tǒng)分析與設計方案</p><p> 3.1 信息管理系統(tǒng)的總體設計要點 1.本系統(tǒng)以實用為主,實現(xiàn)的都是用戶最常用的功能,簡化了系統(tǒng)自帶的軟件的使用。</p><p>
26、; 2.本系統(tǒng)界面設計直觀,易用性強。</p><p> 3.2 系統(tǒng)各功能模塊</p><p> ?。?)本機基本信息獲取</p><p> 使用了PerformanceCounter和WMI等方式獲取系統(tǒng)信息,以及通過讀取注冊表讀取本機操作系統(tǒng)信息,通過線程的方式監(jiān)控系統(tǒng)性能。</p><p><b> 源碼:</
27、b></p><p> PerformanceCounter pc = new PerformanceCounter("Memory", "Available MBytes");</p><p> PerformanceCounter cpu = new PerformanceCounter("Processor", &
28、quot;% Processor Time", "_Total");</p><p> Thread m_thread;</p><p> [DllImport("IpHlpApi.dll")]</p><p> extern static public uint GetIfTable(byte[] pIfTa
29、ble, ref uint pdwSize, bool bOrder);</p><p> public Form1()</p><p><b> {</b></p><p> new Form2().Show();</p><p> InitializeComponent();</p><p
30、> RegistryKey rk;</p><p> DirectoryEntry root = new DirectoryEntry("WinNT:");</p><p> string strDomain = null, cpuid = null, meo = null;</p><p> foreach (DirectoryE
31、ntry Domain in root.Children)</p><p><b> {</b></p><p><b> //枚舉工作組或域</b></p><p> strDomain = strDomain + " " + Domain.Name;</p><p>&
32、lt;b> }</b></p><p> ManagementClass mClass = new ManagementClass("Win32_Processor");</p><p> ManagementObjectCollection moCollection = mClass.GetInstances();</p><
33、;p> foreach (ManagementObject mObject in moCollection)</p><p><b> {</b></p><p> cpuid += mObject["Name"].ToString() + " ";</p><p><b> }&
34、lt;/b></p><p> mClass = new ManagementClass("Win32_PhysicalMemory");</p><p> moCollection = mClass.GetInstances();</p><p> foreach (ManagementObject mObject in moCol
35、lection)</p><p><b> {</b></p><p> meo += mObject["Capacity"].ToString();</p><p><b> }</b></p><p> rk = Registry.LocalMachine.OpenS
36、ubKey("Software\\Microsoft\\Windows NT\\CurrentVersion");</p><p> label6.Text = System.Environment.MachineName;</p><p> label8.Text = System.Net.Dns.GetHostEntry("LocalHost"
37、;).HostName;</p><p> label9.Text = rk.GetValue("ProductName").ToString() + " " + rk.GetValue("CurrentVersion").ToString() + "." + rk.GetValue("CurrentBuildNumber
38、").ToString();</p><p> label10.Text = strDomain;</p><p> label11.Text = cpuid;</p><p> label12.Text = meo + " 字節(jié)";</p><p> progressBar1.Maximum = (in
39、t)(float.Parse(meo) / 1048576.0);</p><p> m_thread = new Thread(new ThreadStart(workr));</p><p> m_thread.IsBackground = true;</p><p> m_thread.Start();</p><p> Man
40、agementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p> ManagementObjectCollection moc = mc.GetInstances();</p><p> foreach (ManagementObject mo in moc)&l
41、t;/p><p><b> {</b></p><p> if ((bool)mo["IPEnabled"] == true)</p><p> comboBox1.Items.Add(mo["Description"].ToString());</p><p><b>
42、; }</b></p><p> comboBox1.Enabled = true;</p><p> mc = new ManagementClass("Win32_Service");</p><p> moc = mc.GetInstances();</p><p> foreach (Mana
43、gementObject mo in moc)</p><p><b> {</b></p><p> if (mo["StartName"].ToString() == "NT AUTHORITY\\NetworkService")</p><p> comboBox2.Items.Add(mo[
44、"Caption"].ToString());</p><p><b> }</b></p><p> comboBox2.Enabled = true;</p><p> mc.Dispose();</p><p> moc.Dispose();</p><p>
45、maskedTextBox1.AllowPromptAsInput = false;</p><p> private delegate void dfun();</p><p> private void workr() { while (true) { Thread.Sleep(500); work(); } }</p><p> private void
46、 work()</p><p><b> {</b></p><p> if (this.progressBar1.InvokeRequired && this.progressBar2.InvokeRequired)</p><p><b> {</b></p><p>&l
47、t;b> try</b></p><p><b> {</b></p><p> dfun df = new dfun(work);</p><p> this.Invoke(df);</p><p><b> }</b></p><p> ca
48、tch { };</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> this.progressBar1.Value = (int)this.pc.NextValue();</p
49、><p> this.label13.Text = this.progressBar1.Value.ToString() + "MB / " + this.progressBar1.Maximum.ToString() + "MB";</p><p> this.progressBar2.Value = (int)cpu.NextValue();&l
50、t;/p><p> this.label16.Text = DateTime.Now.ToString();</p><p><b> }</b></p><p><b> }</b></p><p> ?。?)網(wǎng)絡設置部分主要通過WMI獲取和設置本機網(wǎng)絡適配器的信息和設置,可以自動獲取當前可用的
51、適配器,同時,能對不符合規(guī)范的的設置進行提示。具體的源碼如下:</p><p> private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e)</p><p><b> {</b></p><p> ManagementObjectSearcher
52、query = new</p><p> ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = 'TRUE'");</p><p> ManagementObjectCollection queryCollection =
53、 query.Get();</p><p> foreach (ManagementObject mo in queryCollection)</p><p><b> {</b></p><p> if (mo["Description"].ToString() == comboBox1.Text)</p>
54、;<p><b> {</b></p><p> string[] ipad = (string[])mo["IPAddress"];</p><p> label23.Text = ipad[0];</p><p> string[] subnets = (string[])mo["IPSu
55、bnet"];</p><p> label24.Text = subnets[0];</p><p> string[] defaultgateways = (string[])mo["DefaultIPGateway"];</p><p> if (defaultgateways != null)</p><
56、;p> label27.Text = defaultgateways[0];</p><p> else label27.Text = "";</p><p> label26.Text = mo["MACAddress"].ToString();</p><p> string[] dns = (string[
57、])mo["DNSServerSearchOrder"];</p><p> if (dns != null)</p><p> label28.Text = dns[0];</p><p> else if (dns == null)</p><p> label29.Text = "";&l
58、t;/p><p> else if (dns.Length == 2)</p><p> label29.Text = dns[1];</p><p> else { label29.Text = ""; }</p><p><b> }</b></p><p><b
59、> }</b></p><p><b> }</b></p><p><b> /*</b></p><p> private void button3_Click(object sender, EventArgs e)</p><p><b> {</b
60、></p><p> string[] mac = maskedTextBox5.Text.Split(':');</p><p> string pstr = "^[0-9a-fA-F]+$";</p><p> string ma="" ;</p><p> for (
61、int n = 0; n < 5; n++)</p><p> if (!Regex.IsMatch(mac[n],pstr))</p><p><b> {</b></p><p> MessageBox.Show("MAC地址為16進制,即00~FF", "錯誤");</p>
62、<p><b> goto L1;</b></p><p><b> }</b></p><p> else ma += mac[n]+":";</p><p> ma = ma.Substring(0, ma.Length - 1);</p><p> M
63、anagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p> ManagementObjectCollection moc = mc.GetInstances();</p><p> foreach (ManagementObject mo in moc)
64、</p><p><b> {</b></p><p> if ((bool)mo["IPEnabled"])</p><p><b> {</b></p><p> if (mo["Description"].ToString() == comboB
65、ox1.Text)</p><p><b> {</b></p><p> ManagementBaseObject newMAC = mo.GetMethodParameters("SetMACAddress");</p><p> newMAC["MACAddress"] = new strin
66、g[] { ma };</p><p> ManagementBaseObject setMAC = mo.InvokeMethod("SetMACAddress", newMAC, null);</p><p> label26.Text = mo["MACAddress"].ToString();</p><p>
67、mc.Dispose();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> L1: ;</b></p><p><b>
68、 }</b></p><p><b> */</b></p><p> private void button2_Click(object sender, EventArgs e)</p><p><b> {</b></p><p> string pstr = "0
69、 .0 .0 .0";</p><p> string GateStr = "", DnsStr = "", DnsbStr = "";</p><p> bool gat, dn, dnb;</p><p> gat = false;</p><p> dn
70、 = false;</p><p> dnb = false;</p><p> string[] gate = maskedTextBox6.Text.Split('.');</p><p> string[] dns = maskedTextBox7.Text.Split('.');</p><p>
71、 string[] dnsb = maskedTextBox2.Text.Split('.');</p><p> if (!maskedTextBox6.Text.Equals(pstr))</p><p><b> {</b></p><p> for (int n = 0; n < 4; n++)</p
72、><p> if (int.Parse(gate[n]) > 255 || int.Parse(gate[n]) < 0)</p><p><b> {</b></p><p> MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯誤");</p><
73、;p><b> goto L4;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> GateStr += (gate[n].Trim() + &
74、quot;.");</p><p><b> }</b></p><p> GateStr = GateStr.Substring(0, GateStr.Length - 1);</p><p> gat = true;</p><p><b> }</b></p>
75、<p> if (!maskedTextBox7.Text.Equals(pstr))</p><p><b> {</b></p><p> for (int n = 0; n < 4; n++)</p><p> if (int.Parse(dns[n]) > 255 || int.Parse(gate[n])
76、 < 0)</p><p><b> {</b></p><p> MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯誤");</p><p><b> goto L4;</b></p><p><b> }&l
77、t;/b></p><p> for (int i = 0; i <= 3; i++)</p><p><b> {</b></p><p> DnsStr += (dns[i].Trim() + ".");</p><p><b> }</b></p&
78、gt;<p> DnsStr = DnsStr.Substring(0, DnsStr.Length - 1);</p><p> dn = true;</p><p><b> }</b></p><p> if (!maskedTextBox2.Text.Equals(pstr))</p><p&g
79、t;<b> {</b></p><p> for (int n = 0; n < 4; n++)</p><p> if (int.Parse(dnsb[n]) > 255 || int.Parse(gate[n]) < 0)</p><p><b> {</b></p><
80、p> MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯誤");</p><p><b> goto L4;</b></p><p><b> }</b></p><p> for (int i = 0; i <= 3; i++)</
81、p><p><b> {</b></p><p> DnsbStr += (dnsb[i].Trim() + ".");</p><p><b> }</b></p><p> DnsbStr = DnsbStr.Substring(0, DnsbStr.Length - 1
82、);</p><p> dnb = true;</p><p><b> }</b></p><p> ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p> Managem
83、entObjectCollection moc = mc.GetInstances();</p><p> foreach (ManagementObject mo in moc)</p><p><b> {</b></p><p> if ((bool)mo["IPEnabled"])</p><
84、;p><b> {</b></p><p> if (mo["Description"].ToString() == comboBox1.Text)</p><p><b> {</b></p><p> if (gat == true)</p><p><b
85、> {</b></p><p> ManagementBaseObject newGate = mo.GetMethodParameters("SetGateways");</p><p> newGate["DefaultIPGateway"] = new string[] { GateStr };</p>&
86、lt;p> ManagementBaseObject setGate = mo.InvokeMethod("SetGateways", newGate, null);</p><p> label27.Text = mo["DefaultIPGateway"].ToString();</p><p><b> }</b&g
87、t;</p><p> if (dn == true)</p><p><b> {</b></p><p> string[] temp = (string[])mo["DNSServerSearchOrder"];</p><p> ManagementBaseObject newDns
88、= mo.GetMethodParameters("SetDNSServerSearchOrder");</p><p> newDns["DNSServerSearchOrder"] = new string[] { DnsStr, temp[1] };</p><p> ManagementBaseObject setDns = mo.Inv
89、okeMethod("SetDNSServerSearchOrder", newDns, null);</p><p> temp = (string[])mo["DNSServerSearchOrder"];</p><p> label28.Text = temp[0];</p><p><b> }<
90、;/b></p><p> if (dnb == true)</p><p><b> {</b></p><p> string[] temp = (string[])mo["DNSServerSearchOrder"];</p><p> ManagementBaseObject n
91、ewDnsb = mo.GetMethodParameters("SetDNSServerSearchOrder");</p><p> newDnsb["DNSServerSearchOrder"] = new string[] { temp[1], DnsbStr };</p><p> ManagementBaseObject setDns
92、b = mo.InvokeMethod("SetDNSServerSearchOrder", newDnsb, null);</p><p> temp = (string[])mo["DNSServerSearchOrder"];</p><p> label29.Text = temp[1];</p><p><
93、b> }</b></p><p> mo.Dispose();</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> string[] str =
94、 maskedTextBox1.Text.Split('.');</p><p> string[] str1 = maskedTextBox4.Text.Split('.');</p><p> ManagementClass mc1 = new ManagementClass("Win32_NetworkAdapterConfigurati
95、on");</p><p> ManagementObjectCollection moc1 = mc.GetInstances();</p><p> if (255 < int.Parse(str[0]) || 255 < int.Parse(str[1]) || 255 < int.Parse(str[2]) || 255 < int.Parse
96、(str[3]) || int.Parse(str[0]) < 1 || int.Parse(str[1]) < 0 || int.Parse(str[2]) < 0 || int.Parse(str[3]) < 1 ||</p><p> 255 < int.Parse(str1[0]) || 255 < int.Parse(str1[1]) || 255 < int
97、.Parse(str1[2]) || 255 < int.Parse(str1[3]) || int.Parse(str1[0]) < 1 || int.Parse(str1[1]) < 0 || int.Parse(str1[2]) < 0 || int.Parse(str1[3]) < 0) MessageBox.Show("IP數(shù)值不對!數(shù)值為1~255", "錯誤&qu
98、ot;);</p><p><b> else</b></p><p> foreach (ManagementObject mo in moc1)</p><p><b> {</b></p><p> if ((bool)mo["IPEnabled"])</p&
99、gt;<p><b> {</b></p><p> if (mo["Description"].ToString() == comboBox1.Text)</p><p><b> {</b></p><p> string IPStr = "", subSt
100、r = "";</p><p> for (int i = 0; i <= 3; i++)</p><p><b> {</b></p><p> IPStr += (str[i].Trim() + ".");</p><p><b> }</b>
101、;</p><p> for (int i = 0; i <= 3; i++)</p><p><b> {</b></p><p> subStr += (str1[i].Trim() + ".");</p><p><b> }</b></p>&
102、lt;p> IPStr = IPStr.Substring(0, IPStr.Length - 1);</p><p> subStr = subStr.Substring(0, subStr.Length - 1);</p><p> ManagementBaseObject newIP = mo.GetMethodParameters("EnableStatic&
103、quot;);</p><p> newIP["IPAddress"] = new string[] { IPStr };</p><p> newIP["SubnetMask"] = new string[] { subStr };</p><p> ManagementBaseObject setIP = mo.In
104、vokeMethod("EnableStatic", newIP, null);</p><p> label23.Text = IPStr;</p><p> label24.Text = subStr;</p><p> mc.Dispose();</p><p><b> }</b>&l
105、t;/p><p><b> }</b></p><p><b> }</b></p><p><b> L4: ;</b></p><p><b> }</b></p><p> private void button4_Cl
106、ick(object sender, EventArgs e)</p><p><b> {</b></p><p> ManagementClass wmi = new ManagementClass("Win32_NetworkAdapterConfiguration");</p><p> ManagementO
107、bjectCollection moc = wmi.GetInstances();</p><p> foreach (ManagementObject mo in moc)</p><p><b> {</b></p><p> //如果沒有啟用IP設置的網(wǎng)絡設備則跳過 </p><p> if (mo[&
108、quot;Description"].ToString() != comboBox1.Text)</p><p><b> continue;</b></p><p> //重置DNS為空 </p><p> mo.InvokeMethod("SetDNSServerSearchOrder", null)
109、;</p><p> //開啟DHCP </p><p> mo.InvokeMethod("EnableDHCP", null);</p><p><b> }</b></p><p><b> }</b></p><p><b>
110、 4 系統(tǒng)設計與實現(xiàn)</b></p><p><b> 4.1開發(fā)環(huán)境工具</b></p><p> 基本系統(tǒng)的設計主要運用C#與語言與WMI類結(jié)合而開發(fā)。其開發(fā)的主要環(huán)境包括:</p><p> 操作系統(tǒng):Windows 7</p><p> 集成開發(fā)環(huán)境:Microsoft Visual Stu
111、dio 2010和.NET Framework 4.0</p><p> 使用環(huán)境: Windows 2K/XP以上和.NET Framework環(huán)境</p><p> 4.2 硬件環(huán)境 </p><p> 本系統(tǒng)運行環(huán)境所需用到的環(huán)境為:硬件配置 :</p><p> CPU:intel core duo t6400 2.0G的
112、處理器;</p><p> 硬 盤:160GB以上硬盤;</p><p> 內(nèi) 存:2G DDR內(nèi)存;</p><p> 顯 卡:NVIDIA Geforce 9600M GS 512M顯存顯卡</p><p> 軟件環(huán)境:WINDOWS XP、Visual Studio 2010、.NET Framework4.0等。<
113、/p><p> 4.3網(wǎng)站功能模塊的測試</p><p> 圖1 本機信息獲取 </p><p><b> 圖2 網(wǎng)絡設置</b></p><p><b> 圖3 共享設置</b></p><p><b> 圖4 網(wǎng)絡監(jiān)控</b></
114、p><p><b> 5 總 結(jié)</b></p><p> 5.1 課程設計總結(jié)</p><p> 本課程設計實現(xiàn)了簡單的本機網(wǎng)絡系統(tǒng)的管理功能,經(jīng)過細心的調(diào)試和排錯解決了絕大部分的問題。但幾乎每一個計算機程序都會有這樣那樣的不足,尤其是未經(jīng)過精心維護的非商業(yè)軟件。本管理系統(tǒng)程序?qū)τ诔跎娲祟I域的畢業(yè)設計課題來說,尤其在開始初期,感覺系統(tǒng)調(diào)用復
115、雜,難以控制,因此至今還有許多未能解決的缺陷。</p><p> 目前本管理系統(tǒng)還有待完善的功能如下:</p><p> 沒有做到每個進程的網(wǎng)絡流量的實時監(jiān)控;</p><p><b> 沒有實現(xiàn)進程管理;</b></p><p> 沒有考慮到安全問題。</p><p> 盡管課程設計到
116、現(xiàn)在已接近尾聲,但是對于上述的缺陷,本人還會不斷對系統(tǒng)進一步的完善它,期望在今后的日子里憑借自身的技術(shù)把系統(tǒng)做成一套深受歡迎的系統(tǒng)設置軟件。</p><p> 5.2 經(jīng)驗和感想 </p><p> 基于C#和WMI天程序作為課程設計,是本人目前做過的最大的程序。</p><p> 平時自己也常到其它系統(tǒng)優(yōu)化軟件,因此,自己也曾想過要制作一款自己的系
117、統(tǒng)管理軟件。</p><p> 學習該平臺背景和功能的時間遠遠超出了我想象的時間。在學習期間,本人還通過網(wǎng)上的各種C#源碼進行學習與研究,我原以為這樣的設計水平將無法完成設計,但當掌握了大部分應用技巧時,剩下的系統(tǒng)思路的設計就顯得不是最大的障礙了。</p><p> 我在2周內(nèi)寫完這個程序,經(jīng)過了很多次的調(diào)試,終于完成了現(xiàn)在的程序。原先認為不可能的事,我發(fā)現(xiàn),如果有不畏困難的信心和肯鉆
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機網(wǎng)絡管理技術(shù)課程設計報告
- 計算機網(wǎng)絡課程設計---網(wǎng)絡信息管理系統(tǒng)設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 《計算機網(wǎng)絡課程設計》
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計
- 計算機網(wǎng)絡課程設計---網(wǎng)絡設計
- 計算機網(wǎng)絡課程設計報告
- 計算機網(wǎng)絡課程設計報告
- 計算機網(wǎng)絡課程設計報告
- 計算機網(wǎng)絡組建課程設計
- 計算機網(wǎng)絡課程設計報告
- 《計算機網(wǎng)絡》課程設計報告
- 計算機網(wǎng)絡課程設計報告
- 計算機網(wǎng)絡課程設計報告
- 《計算機網(wǎng)絡》課程設計報告
評論
0/150
提交評論