- 1、本文档共66页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.3 网络接口服务 当今,计算机网络的发展一日千里,就连蜜蜂这个“空姐”找对象时都想找蜘蛛,原因是蜘蛛好赖是一个搞“网络”的。随着因特网“飞入寻常百姓家”,人们对网络服务应用程序的要求越来越高,如何开发网络应用程序,最基本的是搞清楚Windows操作系统对网络的支持,对程序员来说,要掌握网络编程的一些概念,最终掌握有关网络使用的一些API函数。 5.3.1 套接字的使用与Winsock API 5.3.2 因特网服务WinInet 精品文档 什么是套接字 套接字(socket)是一种网络编程接口,它是对通信端点的一种抽象,提供了一种发送数据和接收数据的机制。Winsock是Windows操作系统下的套接字,它是一套Microsoft Windows下的网络编程接口,使用该接口可以充分利用Windows消息驱动机制进行编程,在应用程序中是通过调用WinSock API实现相互之间的通讯。 5.3.1 套接字的使用与 Winsock API 精品文档 初始化套接字 在使用Winsock进行编程之前,必须对它进行初始化,使用WSAStartup()就可以完成。该函数的原型为: int WSAStartup( WORD wVersionRequested,// Socket动态链接库的版本号 LPWSADATA lpWSAData //指向一个WSADATA数据结构, //该数据结构返回Windows Socket实现的详细信息 ); 第一个参数指明了要调用的Socket动态链接库的版本号;第二个参数为指针类型,指向一个WSADATA数据结构,该数据结构返回Windows Socket实现的详细信息。 该函数通过一个过程调用来完成使用Windows中Socket动态链接库的初始化工作,它调用成功后就可以调用Windows Socket API函数。 5.3.1 套接字的使用与 WinsockAPI(续) 精品文档 用WinsockAPI函数取本机名和IP地址 取本机名称的函数为: int gethostname( char FAR *name, int namelen ); 其中参数name为传出参数,指向接收主机名称的缓冲区;后面的参数为传入参数,它指定了缓冲区的长度。 取主机信息的函数为: struct hostent FAR *gethostbyname( const char FAR *name ); 该函数用来通过主机名称获取主机的详细信息。参数name就是gethostname()函数的返回结果,该函数执行成功后,将返回一个hostent结构的指针,该结构包含了当前主机的详细信息。该结构定义如下: 5.3.1 套接字的使用与 WinsockAPI(续) 精品文档 struct hostent { char FAR * h_name; //主机的官方名称 char FAR * FAR * h_aliases; //主机的别名 short h_addrtype; //地址类型 short h_length; //该数据结构的大小 char FAR * FAR * h_addr_list; //主机地址列表,包含了主机的IP }; 【例5-5】调用Windows网络API函数取计算机的名称和IP地址。程序主文件为MyComputer.cpp。 例5-5 5.3.1 套接字的使用与 WinsockAPI(续) 精品文档 WinInet是Windows Internet扩展应用程序的接口,它包含了一个C语言的函数集。使用WinInet可以为应用程序添加向InterNet服务器的连接,而无需考虑基本的通讯协议和底层的数据传输工作。WinInet支持文本传输协议(FTP)、超文本传输协议(HTTP)等。 1.利用WinInet检测计算机是否接入因特网及接入方式 在开发网络应用程序的时候,如果设计到Internet方面的处理问题,则首先必须要能判断当前计算机是否接入Internet。因为,如果用户当前的计算机没有接入网的话,随后的任何操作过程都必出现错误。我们可以通过软件的方式检测当前计算机是否接入Internet及当前的接入方式。 5.3.2 因特网服务WinInet 精品文档 2.WinInet中的API函数InternetGetConnectedState 通过API函数InternetGetConnectedState可以检测当前计算
文档评论(0)