网络编程局域网信息查询

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

局域网信息查询授课教师:网络编程——网络编程技术导入局域网的特点是网速快,距离短。因此,局域网编程也是网络编程技术应用的重要领域,尤其是在Windows网络系统中,邻近的计算机可以通过网上邻居进行近距离的交流。共享文件的功能有效地替代了利用其他协议传输文件的繁琐。将网络应用工具集成于操作系统是Windows的一个很好的特点。网络编程技术本章要点IP地址与主机名之间的转换获取局域网中的计算机名和IP地址查找网上邻居局域网消息发送网络编程技术IP地址与主机名之间的转换程序界面网络编程技术IP地址转换成计算机名structhostentFAR*host=gethostbyaddr((char*)(&a),4,AF_INET);if(host==NULL){AfxMessageBox(错误的IP地址);return;}CStringHostName=host-h_name;网络编程技术主机名转换成IP地址structhostent*pHost;pHost=gethostbyname(m_name);inti=0;CStringstrIP;while(pHost-h_addr_list[i]!=NULL){strIP=inet_ntoa(*(structin_addr*)pHost-h_addr_list[i]);CStringstr=本机的IP地址:+strIP;MessageBox(str,NULL,MB_OK);i++;}网络编程技术代码详解——gethostbyaddr函数该函数返回对应于给定地址的包含主机名字和地址信息的hostent结构指针。structhostentFAR*PASCALFARgethostbyaddr(constcharFAR*addr,intlen,inttype);参数addr:指向网络字节顺序地址的指针。参数len:地址的长度,在AF_INET类型中为4。参数type:地址类型,应为AF_INET。网络编程技术代码详解——gethostbyname函数从主机名数据库中得到对应的“主机”(由名字和地址标识)。注意这里得到的“主机”可能是多个而不止一个。structhostent*FARgethostbyname(constchar*name);参数name:是主机名。网络编程技术获取局域网中其它计算机名和IP地址网络编程技术查找局域网其他计算机初始化WinSock开始枚举网络资源,获得枚举句柄通过句柄获得网络资源列表从列表中取一个网络节点解析出主机的名字由主机名获得IP地址将主机名和IP显示出来资源列表结束了吗?结束NoYes结束网络资源枚举实现代码详见教材网络编程技术代码详解——WNetOpenEnum()函数开始一个网络资源或存在的网络连接枚举值,这个函数会返回WNetEnumResource函数用于枚举资源的一个句柄。DWORDWNetOpenEnum(DWORDdwScope,DWORDdwType,DWORDdwUsage,LPNETRESOURCElpNetResource,LPHANDLElphEnum)参数dwScope:指定列举的范围。参数dwType:指定列举的资源类型。参数dwUsage:指定列举资源的用法,如果该函数的第一个参数dwScope不是RESOURCE_GLOBALNET,则该参数将被忽略。参数lpNetResource:指向NETRESOURCE结构的指针,该结构包含了列举资源的相关信息。参数lphEnum:指向列举变量的句柄指针。网络编程技术代码详解——WNetEnumResource()函数获取详细的网络资源信息。DWORDWNetEnumResource(HANDLEhEnum,LPDWORDlpcCount,LPVOIDlpBuffer,LPDWORDlpBufferSize)参数hEnum:由函数WNetOpenEnum()返回的标识某一枚举实例的句柄。参数lpcCount:指定枚举条目的数量。参数lpBuffer:指向取得枚举结果的缓冲区指针,用NETRESOURCE结构数组表示。参数lpBufferSize:指定上面缓冲区的大小。网络编程技术代码详解——WNetCloseEnum()函数结束网络资源的枚举。DWORDWNetCloseEnum(HANDLEhEnum)参数hEnum:是函数WNetOpenEnum()所构建的枚举句柄。网络编程技术程序扩展——网上邻居网络编程技术详细代码见教材关键函数:WNetOpenEnum()WNetEnumResource()WNetCloseEnum()网络编程技术局域网消息发送在Windows操作系统中,“信使服务”在服务列表中名称为“Messenger”,该服务用来传输客户端和服务器之间的NetSend和Alerter(报警器)服务消息。NetSend命令格式如下:NETSEND{NAME|*|/DOMAIN[:NAME]|/USERS}MESSAGE例如:netsend192.168.1.2你好!网络编程技术程序运行界面程序源代码见教材网络编程技术代码详解——CreateProcess()函数本实例中利用子进程的方法,调用Shell创建NetSend命令。CreateProcess函数负责创建子进程。BOOLCreateProcess(LPCTSTRlpApplicationName,LPTSTRlpCommandLine,LPSECURITY_ATTRIBUTESlpProcessAttributes。LPSECURITY_ATTRIBUTESlpThreadAttributes,BOOLbInheritHandles,DWORDdwCreationFlags,LPVOIDlpEnvironment,LPCTSTRlpCurrentDirectory,LPSTARTUPINFOlpStartupInfo,LPPROCESS_INFORMATIONlpProcessInformation);

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功