




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国智能排队机系统数据监测研究报告
- 福建省宁德市2024-2025学年高一上学期1月期末物理试题 含解析
- XX学院附属中学关于评聘教师岗位专业技术职务的实施办法
- 年度活动计划执行进度表
- 现代农业社会化服务实施方案
- 铜陵水泥检查井施工方案
- 个人与个人劳务合同
- 门头水泥板施工方案
- 人力资源合作协议书书
- 建设工程项目招投标合同管理
- 《人工挖孔桩安全教育培训》
- 全省检察机关公诉业务知识考试试卷
- 10KV开关柜教学讲解课件
- 损伤疼痛病(软组织损伤)中医临床路径
- 航模队第一讲-飞机基本原理和弹射机制作
- 高速铁路牵引供电系统课件
- 知名房地产抖音代运营方案
- 红外线测温技术方案
- 人教版八年级下册英语全册教案完整版教学设计含教学反思
- 煤矿探放水作业安全技术实际操作考试标准
- 银行案件风险排查方案
评论
0/150
提交评论