计算机网络课设要点Word文件下载.docx
- 文档编号:14061215
- 上传时间:2022-10-17
- 格式:DOCX
- 页数:17
- 大小:313.27KB
计算机网络课设要点Word文件下载.docx
《计算机网络课设要点Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机网络课设要点Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。
目录
一、设计目的2
二、设计任务2
三、开发技术2
四、需求分析2
1、功能需求2
2、环境需求3
五、设计与实现总体分析与设计3
1、总体分析与设计3
(1)、MFC工程bb3
(2)、MFC工程a4
2、各模块具体设计5
(1)、“获取计算机名称”模块5
(2)、“获取本地IP地址”模块5
(3)、“获取网卡地址”模块6
(4)、“获取计算机的DNS设置”模块7
(5)、“获取子网掩码”模块8
(6)、“计算机TCP/IP的所有信息”模块10
(7)、“获取计算机安装的协议”模块10
(8)、“获取计算机提供的服务”模块11
(9)、“修改本地计算机的网络设置”模块11
(10)、“获取网络资源”模块12
六、设计结果12
1、获取计算机名称、获取IP地址和获取网卡地址12
2、获取DNS设置信息12
3、获取子网掩码12
4、获取计算机安装的协议13
5、获取计算机提供的服务13
6、修改本地计算机的网络配置14
7、获取网络资源14
七、设计总结14
1、遇到的问题14
(1)、错误1:
15
(2)、错误2:
(3)、错误3:
2、总结体会16
一、设计目的
本课程设计是学习完成《计算机网络》课程后,进行的一次全面的综合训练,培养进一步理解和掌握网络组网的过程及方案设计,为今后从事实际工作打下基础;
并学会一些编程语言的掌握与应用,例如VC++6.0并掌握其MFC的使用。
二、设计任务
进行本地计算机基本信息管理如:
获取计算机的名称和IP地址;
获取计算机的子网掩码;
获取计算机的DNS设置;
获取计算机的网卡地址;
获取计算机安装的协议;
获取计算机提供的服务;
获取计算机的所有网络资源;
修改本地计算机的网络设置;
获取计算机TCP/IP的所有信息。
三、开发技术
开发平台:
VisualC++6.0
VisualC++是一个功能强大的可视化软件开发工具。
自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。
所以实际中,更多的是以VisualC++6.0为平台。
VisualC++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。
VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。
这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。
四、需求分析
1、功能需求
从用户的角度来分析本软件应具有以下功能:
首先要有友好简结并且方便操作的界面,能给使用它的人耳目一新的感觉,这样的话就要用到VC++6.0里面的MFC了;
其次就是通过该软件能够获取计算机的的一些基本的配置信息和一些设置的修改,如:
获取计算机的名称和IP地址、获取计算机的子网掩码、获取计算机的DNS设置、获取计算机的网卡地址、获取计算机安装的协议、获取计算机提供的服务、获取计算机的所有网络资源、获取计算机TCP/IP的所有信息以及对本地计算机的网络设置的修改。
这样的话,让人一打开这软件就能很容易的了解它到底有什么功能和它能为用户做些什么工作了。
2、环境需求
制作该软件是在如下的环境下进行的:
操作系统:
WindowsXP
五、设计与实现总体分析与设计
1、总体分析与设计
由于在获取计算机的名称、IP地址、子网掩码、DNS设置、网卡地址和TCP/IP的所有信息的时候要用到WindowsSockets,而在对获取计算机安装的协议、计算机提供的服务、计算机的所有网络资源以及修改本地计算机的网络设置这些功能时候不需用到WindowsSockets。
因此可以通过建立两个MFC工程,就可以把这些功能都实现了。
(1)、MFC工程bb
新建MFC工程bb,选择对话框模式,在第二步中选择“WindowsSockets”复选框,其它保持默认。
选择“WindowsSockets”后,系统就会自动完成WindowsSockets的初始化和用完资源后的释放。
在窗体中添加7个命令按钮,其中6个分别修改其caption属性为:
获取计算机的名称、获取本机IP地址、获取子网掩码、获取DNS设置、获取网卡地址和获取TCP/IP的所有信息,它们的功能就是获取这些信息了,然后第7个按钮就是退出的功能。
具体界面如下:
(2)、MFC工程a
新建MFC工程a,选择对话框模式,并且注意在第二步中不要选择“WindowsSockets”复选框,保持默认属性。
利用WSAStartup()函数来实现套接字的初始化。
在窗体中添加5个命令按钮,其中4个分别修改其caption属性为:
获取计算机安装的协议、获取计算机提供的服务、获取计算机的所有网络资源以及对本地计算机的网络设置的修改,它们的功能就是获取这些信息了,然后第5个按钮就是退出的功能。
2、各模块具体设计
(1)、“获取计算机名称”模块
要用到的函数是gethostname(),intgethostname(charFAR*name,intnamelen)参数及其功能说明如下:
name:
用于指向所获取本地计算机名(即主机名)的缓冲地址。
namelen:
缓冲区空间的大小,以字节表示的。
该函数的功能就是:
利用这函数可以获取本地计算机的名称即主机名。
成功,返回“0”;
失败则返回错误值。
具体实现步骤:
在工程bb中,双击caption属性为:
“获取计算机名称”的按钮,键入函数名OnGetlocalname(),在这个函数里面加入如下关键代码以获取本地计算机的名称。
关键代码:
voidCBbDlg:
:
OnGetlocalname()
{
charszHostName[128];
if(gethostname(szHostName,128)==0)
{
//获取本地计算机名称
MessageBox(szHostName);
}
}
(2)、“获取本地IP地址”模块
要用到的函数是gethostbyname(),structhostentFAR*gethostname(constcharFAR*name)参数及其功能说明如下:
就是通过调用函数gethostname()所取得的计算机名及主机名。
利用这函数可以从主机名数据库中获取对应的主机名称(由名字和地址表示)。
成功,返回一个指向hostent的指针,它可以表示一个主机列表;
“获取本地IP地址”的按钮,键入函数名OnGetlocalip(),在这个函数里面加入如下关键代码以获取本地IP地址。
OnGetlocalip()
//获取本地ip
structhostent*pHost;
pHost=gethostbyname(szHostName);
CStringstr;
str=inet_ntoa(*(structin_addr*)pHost->
h_addr_list[0]);
MessageBox(str);
其中:
inet_ntoa将网络IP地址转换为以标准点分格式表示的字符串。
当然,还可以转换为其他格式再输出。
(3)、“获取网卡地址”模块
要用到的函数是UCHARNetBIOS(PNCBpncb)参数及其功能说明如下:
pncb:
该参数对应于指向某个网络控制块(NCB)的一个指针。
在哪个NCB结构中,包含了为执行一个NetBIOS命令,相应的NetBIOS()函数需要用到的全部信息。
解析和执行NCB命令;
“网络基本输入/输出系统”(NetBIOS)是一个标准的应用程序编程接口。
首先在项目选项中加入“Netapi32.lib”库,或者在“stdafx.h”中添加语句:
#pragmacomment(lib,"
Netapi32.lib"
)。
然后在工程bb中,双击caption属性为:
“获取网卡地址”的按钮,键入函数名OnGetlocalmac(),在这个函数里面加入如下关键代码以获取网卡地址。
OnGetlocalmac()
typedefstructtagASTAT
ADAPTER_STATUSadapt;
NAME_BUFFERNameBuff[30];
}ASTAT,*PASTAT;
ASTATAdapter;
NCBNcb;
UCHARuRetCode;
LANA_ENUMlenum;
inti;
memset(&
Ncb,0,sizeof(Ncb));
Ncb.ncb_command=NCBENUM;
Ncb.ncb_buffer=(UCHAR*)&
lenum;
Ncb.ncb_length=sizeof(lenum);
uRetCode=Netbios(&
Ncb);
for(i=0;
i<
lenum.length;
i++)
Ncb.ncb_command=NCBRESET;
Ncb.ncb_lana_num=lenum.lana[i];
Ncb,0,sizeof(Ncb));
Ncb.ncb_command=NCBASTAT;
strcpy((char*)Ncb.ncb_callname,"
*"
);
Ncb.ncb_buffer=(unsignedchar*)&
Adapter;
Ncb.ncb_length=sizeof(Adapter);
if(uRetCode==0)
CStringstrMac;
strMac.Format("
第%d个MAC是:
%02x-%02x-%02x-%02x-%02x-%02x\n"
i+1,
Adapter.adapt.adapter_address[0],
Adapter.adapt.adapter_addre
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 要点