网络编程电子教案

上传人:ji****72 文档编号:48580376 上传时间:2018-07-17 格式:PPT 页数:30 大小:932.50KB
返回 下载 相关 举报
网络编程电子教案_第1页
第1页 / 共30页
网络编程电子教案_第2页
第2页 / 共30页
网络编程电子教案_第3页
第3页 / 共30页
网络编程电子教案_第4页
第4页 / 共30页
网络编程电子教案_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《网络编程电子教案》由会员分享,可在线阅读,更多相关《网络编程电子教案(30页珍藏版)》请在金锄头文库上搜索。

1、查询本地计算机配置授课教师:网络编程张张云凡网络编程技术导入v内联网经常用在企业的局域网并使用分布式的应 用程序,而分布式的应用程序宿主是本地计算机 ,如何正确地获得本地计算机的网络协议及配置 信息,对于更深入地编写网络应用程序是一件很 重要的事。 网络编程技术本章要点v获取主机名和IP地址 v读取注册表 v查询本机网卡地址 v查询本机子网掩码 v查询本机网关 v查询本机DNS设置网络编程技术功能需求分析 v开发一个简单的查询工具,可以查询本机的基本 软硬件配置,本机的基本网络配置,包括: v计算机名 vIP地址 v操作系统 vCPU v网卡地址 v子网掩码 vDNS服务器 v网关网络编程技术

2、界面设计网络编程技术获取主机名和IP地址 v程序运行界面网络编程技术获取本机计算机名源代码v WSADATA wsaData; v WSAStartup(MAKEWORD(2,2), v char HostName128; v BOOL bRet; v bRet = gethostname(HostName, 128); v if( bRet!= 0 ) vMessageBox(“获取计算机名错误!“,“提示“); vreturn; v v CString strMeg = HostName; v strMeg = “本机的计算机名是:“ + strMeg; v m_show.InsertSt

3、ring(-1,strMeg); v WSACleanup();网络编程技术获取本机IP地址的源代码 v WSADATA wsaData; v WSAStartup(MAKEWORD(2,2), v char HostName128; v struct hostent* pHost; v gethostname(HostName, 128); v pHost = gethostbyname(HostName); v int i=0; v CString strIP; v while(pHost-h_addr_listi != NULL) v vstrIP = inet_ntoa(*(struc

4、t in_addr *)pHost- h_addr_listi); vCString str=“本机的IP地址:“ + strIP; vm_show.InsertString(-1,str); vi+; v v WSACleanup(); 网络编程技术代码详解gethostname函数v该函数可以获取本地主机名,若无错误,返回0 ;否则,返回SOCKET_ERROR。 vgethostname (char* name, int namelen); v参数name:用于指向所获取本地主机名的缓冲 区地址。 v参数namelen:缓冲区的大小,以字节示。网络编程技术代码详解gethostbynam

5、e函数v该函数可以从主机名数据库中得到对应的“主机 ”(由名字和地址标识)。若无错误,函数返回一 个指向hostent结构的指针,它可标识一个“主 机”列表。 vstruct hostent * FAR gethostbyname( const char* name ); v参数name:是主机名。 网络编程技术读注册表v获取本机的操作系统信息和CPU信息需要查询 注册表,从注册表中读出所需要的信息,然后显 示到界面上。网络编程技术什么是注册表?v注册表是Windows程序员建造的一个复杂的 信息数据库,它是多层次式的。 v注册表由键(或称“项”)、子键(子项)和值 项构成。 v一个键就是分支

6、中的一个文件夹,而子键就是这 个文件夹中的子文件夹,子键同样是一个键。一 个值项则是一个键的当前定义,由名称、数据类 型以及分配的值组成。 v一个键可以有一个或多个值,每个值的名称各不 相同,如果一个值的名称为空,则该值为该键的 默认值。 网络编程技术查看注册表v“开始”“运行”中输入“regedit“命令,然 后回车,会弹出注册表编辑器界面 网络编程技术操作注册表的流程 网络编程技术操作注册表 使用CRegKey类 CRegKey类提供的几个重要函数: vOpen函数打开注册表 vQueryValue函数读注册表 vSetValue函数写注册表 vClose函数关闭注册表网络编程技术代码详解

7、Open函数v打开注册表中的主键。若成功,返回 ERROR_SUCCESS,失败则返回错误值。 vLONG Open( HKEY hKeyParent, LPCTSTR lpszKeyName, REGSAM samDesired = KEY_ALL_ACCESS ); v参数hKeyParent:需打开的键的句柄。 v参数lpszKeyName:需打开的键所在的注册 表的路径。 v参数samDesired:注册表访问的权限,默认 值为KEY_ALL_ACCESS。 网络编程技术代码详解QueryValue函数v 读取注册表中键值项的键值,若成功,返回 ERROR_SUCCESS,失败则返回错

8、误值。v LONG QueryValue( DWORD v 参数dwValue:DWORD数据类型的键值。 v 参数lpszValueName:所读取键值项的名称。v LONG QueryValue( LPTSTR szValue, LPCTSTR lpszValueName, DWORD* pdwCount ); v 参数szValue:字符串数据类型的键值。 v 参数lpszValueName:所读取键值项的名称。 v 参数pdwCount:字符串的长度。网络编程技术代码详解 SetValue函数vLONG SetValue( DWORD dwValue, LPCTSTR lpszValu

9、eName ); v参数dwValue:需要写入的DWORD类型键 值。 v参数lpszValueName:所写入的键值项名称 ,如果不存在,则增加一个新的键值项。vLONG SetValue( LPCTSTR lpszValue, LPCTSTR lpszValueName = NULL ); v参数lpszValue:需要写入的字符串类型键值 。 v参数lpszValueName:所写入的键值项名称 ,如果不存在,则增加一个新的键值项。网络编程技术查询本机网卡地址 v程序运行界面网络编程技术获取MAC地址流程 网络编程技术代码详解头文件和库文件 vNetBIOS中所用的函数声明、常数等等均

10、是在 头文件nb30.h内定义的,使用NetBIOS还须 连接库netapi32.lib v#include v#pragma comment(lib,“Netapi32.lib“)网络编程技术代码详解Netbios函数 vWin32应用程序可以使用Network Basic Input/Output System(NetBIOS)接口 与网络中的其他计算机上的应用程序进行通讯vUCHAR Netbios( PNCB pncb ); v参数pncb:指向网络控制块的指针。 v返回值放在pncb指向的结构体里。网络编程技术查询本机子网掩码 v子网掩码(subnet mask)又叫网络掩码、地 址

11、掩码、子网络遮罩,它是一种用来指明一个 IP地址的哪些位标识的是主机所在的子网以及 哪些位标识的是主机的位掩码。 v子网掩码不能单独存在,它必须结合IP地址一 起使用。 v子网掩码只有一个作用,就是将某个IP地址划 分成网络地址和主机地址两部分。 网络编程技术查询子网掩码源代码v PIP_ADAPTER_INFO pAdapterInfo; v PIP_ADAPTER_INFO pAdapter = NULL; v DWORD dwRetVal = 0; v pAdapterInfo = (IP_ADAPTER_INFO *)malloc (sizeof (IP_ADAPTER_INFO) )

12、; v unsigned long ulOutBufLen = sizeof(IP_ADAPTER_INFO); v GetAdaptersInfo( pAdapterInfo, v /获得本地计算机的网络信息函数 v dwRetVal = GetAdaptersInfo( pAdapterInfo, v pAdapter = pAdapterInfo; v while (pAdapter) v vCString strSubNetMask; vstrSubNetMask.Format(“子网掩码:%sn“, pAdapter- IpAddressList.IpMask. String); v

13、MessageBox(strSubNetMask); vpAdapter = pAdapter-Next; v 网络编程技术代码详解GetAdaptersInfo函数 v 函数参数中的PIP_ADAPTER_INFO结构包含了本地 计算机上一个特定网络适配器的信息,从而能够获取所 需的信息,如子网掩码、网卡信息和默认网关等内容 v DWORD GetAdaptersInfo( v PIP_ADAPTER_INFO pAdapterInfo, v PULONG pOutBufLen v ); v 参数pAdapterInfo:指向IP_ADAPTER_INFO结 构的指针 v 参数pOutBuf

14、Len:一个ULONG变量的指针,表示指 向pAdapterInfo结构的大小。网络编程技术查询本机网关信息 v获取网关信息程序与前面获取子网掩码程序实现 方法基本相同,也是通过 GetAdaptersInfo()函数实现的。 网络编程技术查询本机DNS设置 vDNS 是域名系统 (Domain Name System) 的缩写,该系统用于命名组织到域层 次结构中的计算机和网络服务。 v在Internet上域名与IP地址之间是一对一(或 者多对一)的,域名虽然便于人们记忆,但机器 之间只能互相认识IP地址 v域名和IP地址之间的转换工作称为域名解析, 域名解析需要由专门的域名解析服务器来完成,

15、 DNS就是进行域名解析的服务器。网络编程技术代码解析GetNetworkParams()函数v 功能是获取本地计算机的网络参数, 从而获得计算机的 DNS设置。成功返回TRUE,失败返回FALSE。该函 数在头文件Iphlpapi.h中定义,需要库文件 Iphlpapi.lib的支持。 v DWORD GetNetworkParams(PFED_INFO pFixedInfo, PULONG pOutBufLen); v 参数pFixedInfo:指向FIXED_INFO结构的指针, 该结构获取本地计算机的网络参数。 v 参数pOutBufLen:指向一个ULONG变量的指针,该 ULONG变量表示指向pFixedInfo结构的大小。 网络编程技术课堂练习题v操作注册表用的类是 。 v注册表由 、子键(子项)和 构成。 v 的作用就是将某个IP地址划分成网络地 址和主机地址两部分。 v域名便于人们记忆,但机器之间只能互相认识 IP地址,因此需要将域名与IP地址进行转换, 称为 。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号