




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優質文檔-傾情為你奉上精選優質文檔-傾情為你奉上專心-專注-專業專心-專注-專業精選優質文檔-傾情為你奉上專心-專注-專業編號: 計算機網絡課程設計說明書題 目: 本地計算機網絡信息管理系 別: 計算機科學與技術 專 業: 計算機科學與技術 學生姓名: xxx 學 號: 指導教師: xx 2011年 3 月 18 日摘 要本機網絡信息管理器提供了有關計算機性能的信息,并顯示了計算機上主要設備信息;如果連接到網絡,那么還可以查看網絡狀態并迅速了解網絡是如何工作的。它的用戶界面提供了設置網絡信息的選項,其下還有具體的內容設置,而且這里可以查看到當前系統的CPU使用比率、內存等數據,默認設置下系
2、統每隔兩秒鐘對數據進行1次自動更新。目 錄緒論 011.1 IP/TCP協議常識 081.2 Socket的簡介 09規劃設計 112.1 課題來源 112.2 需求分析 11系統分析與設計方案 123.1 聊天系統的總體設計要點 123.2 聊天系統的設計步驟及功能模塊劃分 123.3 功能模塊結構圖 13系統設計環境與測試 264.1 開發環境和工具 264.2 硬件環境 264.3 聊天系統的測試 26課程設計總結 285.1 課程設計總結 285.2 經驗和感想 28參考文獻 31緒論 隨著互聯網逐步普及,人們的生活和工作也越來越離不開信息網絡的支持, 而聊天室是人們最常見, 最直接的
3、網上交流的方式。本信息管理系統以網絡設置為主,為廣大用戶提供一個簡潔的、方便的網絡設置方式,也是使網絡設置更簡單,更適用于對電腦了解不多的用戶。本文所介紹的網絡信息管理系統是基于開放的C#應用程序開發設計的,其主要特性是能動態、實時的完成信息的傳遞,且具有高效的交互性,更有效的反映本機的網絡設置狀況,易于維護和更新,其運行所需環境及其工作流程和各個功能控件的工作原理將在本文依次介紹,并且文中提供了部分程序源代碼。1.1 IP/TCP協議常識(1)IP、TCP協議的特點:TCP/IP(Transmission Control Protocol/Internet Protocol)是傳輸控制協議/
4、網際協議的縮寫, TCP/IP是當今網絡互聯的核心協議。TCP/IP協議的體系結構共有四個層次,即應用層、傳輸層、網絡互聯層和網絡接口層。IP協議的作用:第一,它是網絡層的協議,提供互聯網上數據傳輸的統一格式。第二,提供不可靠的無連接的服務。第三,定義了互聯網上的傳輸數據的基本單元,提供了供路由選擇的信息,沒有差錯校驗和處理的機制。TCP協議的功能:差錯控制可靠性、面向連接、分段(Segment)、端口號。TCP是傳輸控制協議,是面向連接的提供了一種可靠的傳輸服務,它用三次握手和滑動窗口機制來保證傳輸的可靠性,及進行流量控制。 TCP/IP協議具有以下特點:協議標準具有開放性,其獨立于特定的計
5、算機硬件及操作系統,可以免費使用。統一分配網絡地址,使得每個TCP/IP 設備在網絡中都具有唯一的IP地址。實現了高層協議的標準化,能為用戶提供多種可靠的服務。(2)TCP/IP協議進行傳輸數據傳輸的過程:應用程序為了傳輸數據會調用TCP,將數據和對應的參數傳給TCP,將TCP 數據包封裝在IP包內,通過網絡送給目的TCP。接收方TCP在接收到數據后通知上層應用程序,TCP將保證接收數據的正確性。在實現TCP的主機上,TCP可以被看成是一個模塊,和文件系統區別不大,TCP 也可以調用一些操作系統的功能,TCP不直接和網絡打交道,控制網絡的任務由專門的設備驅動模塊完成。TCP只是調用IP接口,向
6、TCP提供所有TCP需要的服務。(3)端口號:有的時候,一個ip地址不能完整的標識一臺服務器,這是應為一臺物理性的計算機同時運行著多個應用程序,這就需要我們來區別同一臺機子上的不同的服務,所以就在傳輸層和應用層上設置接口,就是 端口。端口實際是一個16位長的 地址,他的范圍是065535之間,其中01023是熟知端口,主要是給提供服務的應用程序使用,這些端口是所有應用進程都只道的,102465535為一般端口,也稱動態端口、連接端口,用來隨時分配要求通信的個客戶端應用程序。在數據傳輸過程中,各種服務器不斷的檢測分配給他的端口,一邊發現要求和他通信的客戶端。Windows Management
7、Instrumentation,Windows 管理規范WMI(Windows Management Instrumentation,Windows 管理規范)是一項核心的 Windows 管理技術;用戶可以使用 WMI 管理本地和遠程計算機。Windows 2K/XP和Windows 98 都支持WMI;如果為NT 4.0和Windows 95加上了 Service Pack 4或更高版本,N WMIT 4.0和Win95也支持WMI。因此,用WMI進行遠程管理時,并非一定要用Windows 2K/XP(當然,如果WMI腳本在一臺沒有性能監視器的Win9x機器上運行,就不能在遠程Win9x系
8、統上查詢Windows 2K/XP的性能監視器。 如前所述,WMI允許通過一個公共的接口訪問多種操作系統構成單元,因此不必分別對待各種底層接口或所謂的“提供者”。利用WMI可以高效地管理遠程和本地的計算機;與此相對,并非所有的Windows 2K/XP命令行工具都支持遠程運行。 WMI是WBEM模型的一種實現。WBEM即Web-Based Enterprise Management,或基于Web的企業管理,WBEM由DMTF(Distributed Management Task Force,分布式管理任務組)在許多廠商的幫助下創立,包括Compaq、Sun、Microsoft等。WBEM的目
9、標是,為管理企業環境開發一個標準的接口集。WBEM模型最關鍵的部分是它的數據模型(或描述和定義對象的方式)、編碼規范(Encoding Specification),以及在客戶端和服務器端之間傳輸數據的模式。 WBEM的數據模型是CIM(Common Information Model,公共信息模型)。CIM是一個用來命名計算機的物理和邏輯單元的標準的命名系統(或稱為命名模式),例如硬盤的邏輯分區、正在運行的應用的一個實例,或者一條電纜。 CIM是一個面向對象的模型,使用一組面向對象的術語進行描述。CIM包含類(Class),類是被管理單元的模板。類的實例稱為對象(Object),對象代表著底
10、層系統的一個具體單元。名稱空間(Namespace)是一個類的集合,每個名稱空間面向一個特定的管理領域。類包含屬性(Property)和方法(Method)。 CIM分三層。第一層是核心模型(Core Model),這一層包含的類定義對于所有管理領域來說都是共同的。第二層是公共模型(Common Model),這一層包含的類定義對于特定的管理領域來說是公共的,但與具體的操作系統和系統設計無關。第三層是擴展模型(Extension model),這一層包含的類定義與特定的操作系統或技術有關。 WMI是Microsoft擴展CIM 2.0得到的面向Win32系統的擴展模型。引用WMI類和屬性的形式
11、是“擴展前綴_類名稱.屬性名稱”,例如Win32_ComputerSystem. Name,其中Win32是CIM模式cimv2名稱空間內WMI擴展類的前綴,ComputerSystem是類,Name是屬性。 編寫WMI腳本的很大一部分工作涉及到讀取和設置屬性值。當前,WMI提供的方法還很有限,但隨著時間的推移,相信WMI和CIM提供的方法都會越來越豐富。2 規劃設計本信息管理系統分為三個部分:首先是,是對本機的基本信息的獲取,包括CPU、內存等,以及網絡信息的獲取,包括域名、工作組等,最后還用CPU、內存等使用情況的監視。其次,是對本機的所有可用網絡適配器的設置,包括IP地址、子網掩碼、DN
12、S服務器地址等等。3.然后,是對本機的共享內容的管理,包括共享文件夾的添加和取消,網絡服務的查看等。4.最后,是對所有本機網絡連接的監控和統計。3 系統分析與設計方案31 信息管理系統的總體設計要點 1.本系統以實用為主,實現的都是用戶最常用的功能,簡化了系統自帶的軟件的使用。2.本系統界面設計直觀,易用性強。 3.2 系統各功能模塊(1)本機基本信息獲取使用了PerformanceCounter和WMI等方式獲取系統信息,以及通過讀取注冊表讀取本機操作系統信息,通過線程的方式監控系統性能。源碼:PerformanceCounter pc = new PerformanceCounter(Me
13、mory, Available MBytes); PerformanceCounter cpu = new PerformanceCounter(Processor, % Processor Time, _Total); Thread m_thread; DllImport(IpHlpApi.dll) extern static public uint GetIfTable(byte pIfTable, ref uint pdwSize, bool bOrder); public Form1() new Form2().Show(); InitializeComponent(); Regist
14、ryKey rk; DirectoryEntry root = new DirectoryEntry(WinNT:); string strDomain = null, cpuid = null, meo = null; foreach (DirectoryEntry Domain in root.Children) /枚舉工作組或域 strDomain = strDomain + + Domain.Name; ManagementClass mClass = new ManagementClass(Win32_Processor); ManagementObjectCollection mo
15、Collection = mClass.GetInstances(); foreach (ManagementObject mObject in moCollection) cpuid += mObjectName.ToString() + ; mClass = new ManagementClass(Win32_PhysicalMemory); moCollection = mClass.GetInstances(); foreach (ManagementObject mObject in moCollection) meo += mObjectCapacity.ToString(); r
16、k = Registry.LocalMachine.OpenSubKey(SoftwareMicrosoftWindows NTCurrentVersion); label6.Text = System.Environment.MachineName; label8.Text = System.Net.Dns.GetHostEntry(LocalHost).HostName; label9.Text = rk.GetValue(ProductName).ToString() + + rk.GetValue(CurrentVersion).ToString() + . + rk.GetValue
17、(CurrentBuildNumber).ToString(); label10.Text = strDomain; label11.Text = cpuid; label12.Text = meo + 字節; progressBar1.Maximum = (int)(float.Parse(meo) / .0); m_thread = new Thread(new ThreadStart(workr); m_thread.IsBackground = true; m_thread.Start(); ManagementClass mc = new ManagementClass(Win32_
18、NetworkAdapterConfiguration); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) if (bool)moIPEnabled = true) comboBox1.Items.Add(moDescription.ToString(); comboBox1.Enabled = true; mc = new ManagementClass(Win32_Service); moc = mc.GetInstances(); foreach (Manag
19、ementObject mo in moc) if (moStartName.ToString() = NT AUTHORITYNetworkService) comboBox2.Items.Add(moCaption.ToString(); comboBox2.Enabled = true; mc.Dispose(); moc.Dispose(); maskedTextBox1.AllowPromptAsInput = false;private delegate void dfun(); private void workr() while (true) Thread.Sleep(500)
20、; work(); private void work() if (gressBar1.InvokeRequired & gressBar2.InvokeRequired) try dfun df = new dfun(work); this.Invoke(df); catch ; else gressBar1.Value = (int)this.pc.NextValue(); this.label13.Text = gressBar1.Value.ToString() + MB / + gressBar1.Max
21、imum.ToString() + MB; gressBar2.Value = (int)cpu.NextValue(); this.label16.Text = DateTime.Now.ToString(); (2)網絡設置部分主要通過WMI獲取和設置本機網絡適配器的信息和設置,可以自動獲取當前可用的適配器,同時,能對不符合規范的的設置進行提示。具體的源碼如下: private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e) ManagementObjectSearcher query
22、= new ManagementObjectSearcher(SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = TRUE); ManagementObjectCollection queryCollection = query.Get(); foreach (ManagementObject mo in queryCollection) if (moDescription.ToString() = comboBox1.Text) string ipad = (string)moIPAddress; label23
23、.Text = ipad0; string subnets = (string)moIPSubnet; label24.Text = subnets0; string defaultgateways = (string)moDefaultIPGateway; if (defaultgateways != null) label27.Text = defaultgateways0; else label27.Text = ; label26.Text = moMACAddress.ToString(); string dns = (string)moDNSServerSearchOrder; i
24、f (dns != null) label28.Text = dns0; else if (dns = null) label29.Text = ; else if (dns.Length = 2) label29.Text = dns1; else label29.Text = ; /* private void button3_Click(object sender, EventArgs e) string mac = maskedTextBox5.Text.Split(:); string pstr = 0-9a-fA-F+$; string ma= ; for (int n = 0;
25、n 5; n+) if (!Regex.IsMatch(macn,pstr) MessageBox.Show(MAC地址為16進制,即00FF, 錯誤); goto L1; else ma += macn+:; ma = ma.Substring(0, ma.Length - 1); ManagementClass mc = new ManagementClass(Win32_NetworkAdapterConfiguration); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo
26、 in moc) if (bool)moIPEnabled) if (moDescription.ToString() = comboBox1.Text) ManagementBaseObject newMAC = mo.GetMethodParameters(SetMACAddress); newMACMACAddress = new string ma ; ManagementBaseObject setMAC = mo.InvokeMethod(SetMACAddress, newMAC, null); label26.Text = moMACAddress.ToString(); mc
27、.Dispose(); L1: ; */ private void button2_Click(object sender, EventArgs e) string pstr = 0 .0 .0 .0; string GateStr = , DnsStr = , DnsbStr = ; bool gat, dn, dnb; gat = false; dn = false; dnb = false; string gate = maskedTextBox6.Text.Split(.); string dns = maskedTextBox7.Text.Split(.); string dnsb
28、= maskedTextBox2.Text.Split(.); if (!maskedTextBox6.Text.Equals(pstr) for (int n = 0; n 255 | int.Parse(gaten) 0) MessageBox.Show(IP數值不對!數值為1255, 錯誤); goto L4; else GateStr += (gaten.Trim() + .); GateStr = GateStr.Substring(0, GateStr.Length - 1); gat = true; if (!maskedTextBox7.Text.Equals(pstr) fo
29、r (int n = 0; n 255 | int.Parse(gaten) 0) MessageBox.Show(IP數值不對!數值為1255, 錯誤); goto L4; for (int i = 0; i = 3; i+) DnsStr += (dnsi.Trim() + .); DnsStr = DnsStr.Substring(0, DnsStr.Length - 1); dn = true; if (!maskedTextBox2.Text.Equals(pstr) for (int n = 0; n 255 | int.Parse(gaten) 0) MessageBox.Sho
30、w(IP數值不對!數值為1255, 錯誤); goto L4; for (int i = 0; i = 3; i+) DnsbStr += (dnsbi.Trim() + .); DnsbStr = DnsbStr.Substring(0, DnsbStr.Length - 1); dnb = true; ManagementClass mc = new ManagementClass(Win32_NetworkAdapterConfiguration); ManagementObjectCollection moc = mc.GetInstances(); foreach (Manageme
31、ntObject mo in moc) if (bool)moIPEnabled) if (moDescription.ToString() = comboBox1.Text) if (gat = true) ManagementBaseObject newGate = mo.GetMethodParameters(SetGateways); newGateDefaultIPGateway = new string GateStr ; ManagementBaseObject setGate = mo.InvokeMethod(SetGateways, newGate, null); labe
32、l27.Text = moDefaultIPGateway.ToString(); if (dn = true) string temp = (string)moDNSServerSearchOrder; ManagementBaseObject newDns = mo.GetMethodParameters(SetDNSServerSearchOrder); newDnsDNSServerSearchOrder = new string DnsStr, temp1 ; ManagementBaseObject setDns = mo.InvokeMethod(SetDNSServerSear
33、chOrder, newDns, null); temp = (string)moDNSServerSearchOrder; label28.Text = temp0; if (dnb = true) string temp = (string)moDNSServerSearchOrder; ManagementBaseObject newDnsb = mo.GetMethodParameters(SetDNSServerSearchOrder); newDnsbDNSServerSearchOrder = new string temp1, DnsbStr ; ManagementBaseO
34、bject setDnsb = mo.InvokeMethod(SetDNSServerSearchOrder, newDnsb, null); temp = (string)moDNSServerSearchOrder; label29.Text = temp1; mo.Dispose(); string str = maskedTextBox1.Text.Split(.); string str1 = maskedTextBox4.Text.Split(.); ManagementClass mc1 = new ManagementClass(Win32_NetworkAdapterCon
35、figuration); ManagementObjectCollection moc1 = mc.GetInstances(); if (255 int.Parse(str0) | 255 int.Parse(str1) | 255 int.Parse(str2) | 255 int.Parse(str3) | int.Parse(str0) 1 | int.Parse(str1) 0 | int.Parse(str2) 0 | int.Parse(str3) 1 | 255 int.Parse(str10) | 255 int.Parse(str11) | 255 int.Parse(st
36、r12) | 255 int.Parse(str13) | int.Parse(str10) 1 | int.Parse(str11) 0 | int.Parse(str12) 0 | int.Parse(str13) 0) MessageBox.Show(IP數值不對!數值為1255, 錯誤); else foreach (ManagementObject mo in moc1) if (bool)moIPEnabled) if (moDescription.ToString() = comboBox1.Text) string IPStr = , subStr = ; for (int i
37、 = 0; i = 3; i+) IPStr += (stri.Trim() + .); for (int i = 0; i = 3; i+) subStr += (str1i.Trim() + .); IPStr = IPStr.Substring(0, IPStr.Length - 1); subStr = subStr.Substring(0, subStr.Length - 1); ManagementBaseObject newIP = mo.GetMethodParameters(EnableStatic); newIPIPAddress = new string IPStr ;
38、newIPSubnetMask = new string subStr ; ManagementBaseObject setIP = mo.InvokeMethod(EnableStatic, newIP, null); label23.Text = IPStr; label24.Text = subStr; mc.Dispose(); L4: ; private void button4_Click(object sender, EventArgs e) ManagementClass wmi = new ManagementClass(Win32_NetworkAdapterConfiguration); ManagementObjectCollection m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 4S店客戶體驗優化-洞察及研究
- 物業年度培訓計劃
- 基于Cu-BTC構筑多功能電催化劑用于高效電化學合成氨
- 汕頭市澄海區人民醫院招聘專業技術人員筆試真題2024
- 中國戲曲學院《理解藝術B:創意舞動》2023-2024學年第二學期期末試卷
- 淮南職業技術學院《園林史》2023-2024學年第二學期期末試卷
- 南陽科技職業學院《工程設計與分析》2023-2024學年第二學期期末試卷
- 廣州華商學院《細胞生物學與細胞培養技術實驗一》2023-2024學年第二學期期末試卷
- 華中農業大學《流體機械強度計算》2023-2024學年第二學期期末試卷
- 石家莊學院《藝術創作方法》2023-2024學年第二學期期末試卷
- 漢明碼編譯碼實驗新編
- 你不知道的自己
- 電大可編程控制器應用實訓 形考任務6
- 部編版《語文》三年級下冊全冊教案及反思
- 國家開放大學《人工智能專題》形考任務(1-3)試題答案
- 中小跨徑橋梁結構健康監測技術講稿2017.4.9杭州
- 【鞏固】2021年浙江省湖州市德清縣人教版小學三年級數學下學期期末測試卷
- 求職登記表(標準模版)
- 國開電大 可編程控制器應用實訓 形考任務4實訓報告
- 呼吸機的使用三基操作考核評分標準
- YS/T 231-2015鎢精礦
評論
0/150
提交評論