编号:
计算机网络课程设计(论文)说明书
题 目: 本地网络信息设置与 网络对时程序设计 系 别: 计算机与信息安全学院 专 业: 学生姓名: 学 号: 指导教师:
2016年 5 月 4 日
1
目 录
1
设计任务及目标 ......................................................................................................................... 3 1.1 课程设计的目标 ................................................................................................................. 3 1.2 课程设计的任务 ................................................................................................................. 3
1.2.1 本地网络信息的获取 ............................................................................................. 3 1.2.2 修改本地计算机的网络设置 ................................................................................. 3 1.2.3 网络对时 ................................................................................................................. 3
2 需求分析 ...................................................................................................................................... 3
2.1 用户角度 ............................................................................................................................. 3 2.2 开发环境角度 ..................................................................................................................... 3 2.3功能角度: .......................................................................................................................... 4 3 相关技术 ........................................................................................................................................ 4 4 总体设计 ........................................................................................................................................ 4 5 详细设计与实现 ............................................................................................................................ 5
5.1 主机名字获取模块设计 ..................................................................................................... 5 5.2主机IP的获取模块设计 .................................................................................................... 5 5.3 MAC地址模块设计 ............................................................................................................ 7 5.4 DNS模块设计 ..................................................................................................................... 8 5.5 网络协议模块设计 ........................................................................................................... 10 5.6 系统时间模块设计 ........................................................................................................... 12 5.7 IP统计信息模块设计 ....................................................................................................... 13 5.8 TCP统计信息模块设计 ................................................................................................... 14 5.9 本地网络信息修改模块设计 ........................................................................................... 16 6 课设总结 .................................................................................................................................... 17
6.1 任务完成情况 ................................................................................................................... 17 6.2 特色与不足 ....................................................................................................................... 17 6.3 所遇到的问题 ................................................................................................................... 18 6.4 课设体会 ........................................................................................................................... 18 参考文献 ........................................................................................................................................... 19
2
1 设计任务及目标
1.1 课程设计的目标
本次课程设计的目标是对《计算机网络》这门课的学习情况的检验,是对 课本里面知识的实际应用,进一步掌握网络组网的过程以及方案设计,培养自我编程能力,以及编程软件的熟练掌握,本次将用到VS2013进行编程,掌握MFC的熟练使用。 1.2 课程设计的任务
本次课程设计我选的题目是:本地网络信息的设置与网络对时程序设计。 具体功能要求如下: 1.2.1 本地网络信息的获取
计算机名称、IP地址、网卡地址、DNS设置、安装的协议、提供的服务、TCP/IP运行信息。
1.2.2 修改本地计算机的网络设置 修改计算机的IP地址和DNS 1.2.3 网络对时
采用NTP协议从internet上某个时间服务器,获取时间信息,准确地更新本地机时钟,支持手动、定时自动两种方式
2 需求分析
2.1 用户角度
从用户角度考虑:首先要有友好简洁并方便用户操作的用户界面,使用户感到舒适且通俗易懂。 2.2 开发环境角度
本人比较熟悉C++语言的编程,因此本次采用Visual Studio2013软件进行
3
编程设计,由于需要界面设计,因此需用用到VS 2013的MFC功能了。 所以本次的课程设计是在Windows 7、VS2013的环境下编写的。 2.3功能角度:
本次题目是本地网络信息的设置与网络对时,因此需要多个按钮以及编辑框,这样用户只要一打开软件就能看到此软件能够为用户提供什么服务。如:点击按钮“计算机名称“,就会获取计算机的名称,其他功能也是直接点击按钮就能得到。
3 相关技术
本次课设使用到visual studio 2013 的MFC功能,VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。所写的目标代码适用于微软支持的所有平台。
4 总体设计
获取本地网络信息,计算机的名称、IP地址、子网掩码、DNS设置、网卡 地址等等,需要大量代码一一对应,如果把他们细分成一个个模块,通过MFC对话框模式,点击一个按钮就显示出一个对应的信息,那么将会简单、明了得多。所以,所需实现的功能都能在一个面板上通过相应按钮显示出来。
图 1 主窗体设计
4
5 详细设计与实现
5.1 主机名字获取模块设计
往MFC对话框添加button1,并设置其caption为“主机名称”。 获取主机名字,使用gethostname() 函数就可以实现了。gethostname() 函数会返回本地主机的标准主机名,该函数把本地主机名存放入由name参数指定的缓冲区中。 关键代码:
//初始化WinSock
WSADATA WSAData;
if (WSAStartup(MAKEWORD(2, 0), &WSAData) != 0) {
return;
}
//获得本地计算机主机名称 CString strName = _T(\);
gethostname(strName.GetBuffer(1024), 1024); strName.ReleaseBuffer(); CString strText = _T(\);
strText.Format(_T(\本地计算机的名称:\\n%s\), strName); AfxMessageBox(strText); //清理WinSock WSACleanup();
运行结果:
图2 主机名称
5.2主机IP的获取模块设计
添加按钮button2并设置其caption为“主机名称”获取主机IP使用到gethostbyname()函数, gethostbyname()函数说明——用域名或主机名获取IP地址,并填入代码:
5