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