Visual C++网络编程技术-07

上传人:fgh****35 文档编号:248580738 上传时间:2024-10-24 格式:PPT 页数:19 大小:736.50KB
返回 下载 相关 举报
Visual C++网络编程技术-07_第1页
第1页 / 共19页
Visual C++网络编程技术-07_第2页
第2页 / 共19页
Visual C++网络编程技术-07_第3页
第3页 / 共19页
点击查看更多>>
资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,网络编程技术,局域网信息查询,授课教师:,网络编程,导入,局域网的特点是网速快,距离短。因此,局域网编程也是网络编程技术应用的重要领域,尤其是在,Windows,网络系统中,邻近的计算机可以通过网上邻居进行近距离的交流。共享文件的功能有效地替代了利用其他协议传输文件的繁琐。将网络应用工具集成于操作系统是,Windows,的一个很好的特点。,本章要点,IP,地址与主机名之间的转换,获取局域网中的计算机名和,IP,地址,查找网上邻居,局域网消息发送,IP,地址与主机名之间的转换,程序界面,IP,地址转换成计算机名,struct,hostent,FAR*host=,gethostbyaddr,(char*)(,if(host,=NULL),AfxMessageBox,(,错误的,IP,地址,);,return;,CString,HostName,=host-,h_name,;,主机名转换成,IP,地址,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,结构指针。,struct,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,:是主机名。,获取局域网中其它计算机名和,IP,地址,查找局域网其他计算机,实现代码详见教材,代码详解,WNetOpenEnum,(),函数,开始一个网络资源或存在的网络连接枚举值,这个函数会返回,WNetEnumResource,函数用于枚举资源的一个句柄。,DWORD,WNetOpenEnum,(,DWORD,dwScope,DWORD,dwType,DWORD,dwUsage,LPNETRESOURCE,lpNetResource,LPHANDLE,lphEnum,),参数,dwScope,:指定列举的范围。,参数,dwType,:指定列举的资源类型。,参数,dwUsage,:指定列举资源的用法,如果该函数的第一个参数,dwScope,不是,RESOURCE_GLOBALNET,,则该参数将被忽略。,参数,lpNetResource,:指向,NETRESOURCE,结构的指针,该结构包含了列举资源的相关信息。,参数,lphEnum,:指向列举变量的句柄指针。,代码详解,WNetEnumResource,(),函数,获取详细的网络资源信息。,DWORD,WNetEnumResource,(,HANDLE,hEnum,LPDWORD,lpcCount,LPVOID,lpBuffer,LPDWORD,lpBufferSize,),参数,hEnum,:由函数,WNetOpenEnum,(),返回的标识某一枚举实例的句柄。,参数,lpcCount,:指定枚举条目的数量。,参数,lpBuffer,:指向取得枚举结果的缓冲区指针,用,NETRESOURCE,结构数组表示。,参数,lpBufferSize,:指定上面缓冲区的大小。,代码详解,WNetCloseEnum,(),函数,结束网络资源的枚举。,DWORD,WNetCloseEnum,(HANDLE,hEnum,),参数,hEnum,:是函数,WNetOpenEnum,(),所构建的枚举句柄。,程序扩展,网上邻居,详细代码见教材,关键函数:,WNetOpenEnum,(),WNetEnumResource,(),WNetCloseEnum,(),局域网消息发送,在,Windows,操作系统中,“信使服务”在服务列表中名称为“,Messenger”,,该服务用来传输客户端和服务器之间的,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,lpEnvironment,LPCTSTR,lpCurrentDirectory,LPSTARTUPINFO,lpStartupInfo,LPPROCESS_INFORMATION,lpProcessInformation,);,Thank You!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械制造 > 工业自动化


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!