Visual-C++网络编程技术-07.ppt_第1页
Visual-C++网络编程技术-07.ppt_第2页
Visual-C++网络编程技术-07.ppt_第3页
Visual-C++网络编程技术-07.ppt_第4页
Visual-C++网络编程技术-07.ppt_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、,局域网信息查询,授课教师:,网络编程,导入,局域网的特点是网速快,距离短。因此,局域网编程也是网络编程技术应用的重要领域,尤其是在Windows网络系统中,邻近的计算机可以通过网上邻居进行近距离的交流。共享文件的功能有效地替代了利用其他协议传输文件的繁琐。将网络应用工具集成于操作系统是Windows的一个很好的特点。,本章要点,IP地址与主机名之间的转换 获取局域网中的计算机名和IP地址 查找网上邻居 局域网消息发送,IP地址与主机名之间的转换,程序界面,IP地址转换成计算机名,struct hostent FAR *host=gethostbyaddr (char *)(,主机名转换成IP

2、地址,struct hostent* pHost; pHost = gethostbyname(m_name); int i=0; CString strIP; while(pHost-h_addr_listi != NULL) strIP = inet_ntoa(*(struct in_addr *) pHost-h_addr_listi); CString str=本机的IP地址: + strIP; MessageBox(str,NULL,MB_OK); i+; ,代码详解gethostbyaddr函数,该函数返回对应于给定地址的包含主机名字和地址信息的hostent结构指针。 struc

3、t hostent FAR *PASCAL FAR gethostbyaddr(const char FAR * addr, int len, int type); 参数addr:指向网络字节顺序地址的指针。 参数len: 地址的长度,在AF_INET类型中为4。 参数type:地址类型,应为AF_INET。,代码详解gethostbyname函数,从主机名数据库中得到对应的“主机”(由名字和地址标识)。注意这里得到的“主机”可能是多个而不止一个。 struct hostent * FAR gethostbyname( const char* name ); 参数name:是主机名。,获取局域

4、网中其它计算机名和IP地址,查找局域网其他计算机,实现代码详见教材,代码详解WNetOpenEnum()函数,开始一个网络资源或存在的网络连接枚举值,这个函数会返回WNetEnumResource函数用于枚举资源的一个句柄。 DWORD WNetOpenEnum( DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCE lpNetResource, LPHANDLE lphEnum ) 参数dwScope:指定列举的范围。 参数dwType:指定列举的资源类型。 参数dwUsage:指定列举资源的用法,如果该函数的第一个参数dwSco

5、pe不是RESOURCE_GLOBALNET,则该参数将被忽略。 参数lpNetResource:指向NETRESOURCE结构的指针,该结构包含了列举资源的相关信息。 参数lphEnum:指向列举变量的句柄指针。,代码详解WNetEnumResource()函数,获取详细的网络资源信息。 DWORD WNetEnumResource( HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize ) 参数hEnum:由函数WNetOpenEnum()返回的标识某一枚举实例的句柄。 参数lpcCount:指定枚举条目

6、的数量。 参数lpBuffer:指向取得枚举结果的缓冲区指针,用NETRESOURCE结构数组表示。 参数lpBufferSize:指定上面缓冲区的大小。,代码详解WNetCloseEnum()函数,结束网络资源的枚举。 DWORD WNetCloseEnum( HANDLE hEnum ) 参数hEnum:是函数WNetOpenEnum()所构建的枚举句柄。,程序扩展网上邻居,详细代码见教材 关键函数: WNetOpenEnum() WNetEnumResource() WNetCloseEnum(),局域网消息发送,在Windows操作系统中,“信使服务”在服务列表中名称为“Messeng

7、er”,该服务用来传输客户端和服务器之间的Net Send和Alerter(报警器)服务消息。 Net Send命令格式如下: NET SEND NAME | * | /DOMAIN : NAME | /USERS MESSAGE 例如:net send 192.168.1.2 你好!,程序运行界面,程序源代码见教材,代码详解CreateProcess()函数,本实例中利用子进程的方法,调用Shell创建Net Send命令。CreateProcess函数负责创建子进程。 BOOL CreateProcess( LPCTSTR lpApplicationName, LPTSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes。 LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironmen

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论