C++实用网络编程设计完整版.doc
《C++实用网络编程设计完整版.doc》由会员分享,可在线阅读,更多相关《C++实用网络编程设计完整版.doc(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、苏 州 市 职 业 大 学实习(实训)任务书 名 称: 实用网络程序设计实训 起讫时间: 2012-6-11至 2012-6-15 院 系: 计算机工程系 班级: 10系统集成 指导教师: 于复生 吴建平 系 主 任: 李金祥 一、实习(实训)目的和要求通过实训,进一步掌握网络编程的知识和技能,掌握解决实际问题以及进行一定网络程序设计的能力。实训注重网络程序的细节技术,进一步研究网络编程函数和相关MFC类,并且着重解决编程中可能存在的问题和难点,同时将这些知识应用于实际开发中,利用理论知识指导实践的开发。二、实习(实训)内容1、文件传输的设计2、聊天软件的设计3、广播程序的设计4、本地计算机信
2、息的查询5、局域网信息的查询学生按班级内序号分组,每5位同学一组,每人完成一个项目。三、实习(实训)方式 集中 分散 校内 校外四、实习(实训)具体安排以小组为单位,每个小组5台计算机,计算机之间通过局域网连接。共同完成小组任务,并完成调试。序号教学内容题目学 时 分 配小计讲课实训1文件传输的分析与设计4132聊天软件的分析与设计443广播程序的分析与设计444本地计算机信息的查询445局域网信息的查询446项目整体测试413合 计24222五、实习(实训)报告内容(有指导书的可省略)1、实训地点:信2-5062、实训时间:2012/06/112012/06/153、小组成员:XXXXXXX
3、XXXX4、具体内容:本地计算机信息的查询5、实训总结:苏 州 市 职 业 大 学实习(实训)报告 名称 实用网络程序设计实训 2012年6月11日至 2012年6月15日共一周院 系 计算机工程系 班 级 10系统集成 姓 名 XXXXX 系主任 李金祥 教研室主任 谭方勇 指导教师 于复生 吴建平 1、实训地点:信2-5062、实训时间:2012/06/112012/06/153、小组成员:XXXXXXXXXX4、具体内容:本地计算机信息的查询4.1 设计分析与原理(1)获取主机名和IP地址:获取本地计算机名和IP地址可以通过读注册表获得,也可以使用winsock库提供的相关函数来实现。(
4、2)获取计算机软硬件配置信息:获取本机的操作系统信息和CPU信息需要查询注册表,从注册表中读取所需要的信息,然后显示到界面上。(3)查询本地网卡地址:一个网关对应唯一一个的MAC地址,对一些应用程序来说,获取网卡MAC地址有时是必要的,使用VC提供的NetBIOS网络编程接口可以方便获取网卡MAC地址(4)查询本机子网掩码:函数GetAdaptersInfo()可以获得本地计算机的网络信息,从而获得该计算机的子网掩码,该函数的头文件Iphlpai.h中定义,需要从Iphlpai.lib的支持。VC里面没有这两个,所以要从网络上下载他们。(5)查询本机网关:函数GetAdaptersInfo()
5、可以获得本地计算机的网络信息,从而获得该计算机的网关设置,该函数的头文件Iphlpai.h中定义,需要从Iphlpai.lib的支持。VC里面没有这两个,所以要从网络上下载他们。(6)查询本机DNS:函数GetNetworkParams()可以获得本地计算机的网络参数,从而获得该计算机的DNS设置,该函数的头文件Iphlpai.h中定义,需要从Iphlpai.lib的支持。VC里面没有这两个,所以要从网络上下载他们。4.2 程序流程图图1操作注册表的流程 图2获取MAC地址流程 4.3 程序代码void CMyDlg:OnGetname() /初始化WinSock为2.0版本WSADATA w
6、saData;int ret;if(ret=WSAStartup(MAKEWORD(2,2),&wsaData)!=0)return;char HostName128;BOOL bRet;bRet = gethostname(HostName,128);if(bRet!=0)MessageBox(获取计算机名错误!,提示);return;CString strMeg = HostName;strMeg = 本机的计算机名是: + strMeg;m_show.InsertString(-1,strMeg);WSACleanup();/ TODO: Add your control notific
7、ation handler code herevoid CMyDlg:OnGetip() /初始化WinSock为2.0版本WSADATA wsaData;int ret;if(ret=WSAStartup(MAKEWORD(2,2),&wsaData)!=0)return;char HostName128;struct hostent* pHost;gethostname(HostName,128);pHost = gethostbyname(HostName);int i = 0;CString strIP;while(pHost-h_addr_listi!=NULL)strIP = in
8、et_ntoa(*(struct in_addr*)pHost-h_addr_listi);CString str = 本机的IP地址: + strIP;m_show.InsertString(-1,str);i+; WSACleanup();/ TODO: Add your control notification handler code herevoid CMyDlg:OnSoft() CString strPath=SOFTWAREMicrosoftWindowsCurrentVersion;/注册表子键路径CRegKey regkey;/定义注册表类对象LONG lResult;/L
9、ONG型变量反应结果char strMes50;CString strShow;DWORD dwSize=50; lResult=regkey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS);/打开注册表键if (lResult!=ERROR_SUCCESS)AfxMessageBox(错误:无法查询有关的注册表信息);return; /获取操作系统安装序列号值memset(strMes,0,50);regkey.QueryValue(strMes,ProductId,&dwSize);strShow = strMes;strS
10、how = 操作系统安装序列号: + strShow;m_show.InsertString (-1, strShow);regkey.Close();/关闭注册表/获取操作系统名称、Windows的版本号和windows的版本名称strPath=SOFTWAREMicrosoftWindows NTCurrentVersion;/注册表子键路径lResult=regkey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS);/打开注册表键if (lResult!=ERROR_SUCCESS)AfxMessageBox(错误:无法查
11、询有关的注册表信息);return;/获取操作系统名称memset(strMes,0,50);regkey.QueryValue(strMes,ProductName,&dwSize);strShow = strMes;strShow = 操作系统名称: + strShow;m_show.AddString(strShow);/获取windows的版本名称memset(strMes,0,50);regkey.QueryValue(strMes,CSDVersion,&dwSize);strShow = strMes;strShow = Windows的版本名称: + strShow;m_sho
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 实用 网络 编程 设计 完整版
限制150内