WinInet与网络协议实现.doc

  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WinInet与网络协议实现.doc

第七章 WinInet与网络协议实现 一、基础知识 主要用来做客户端程序,和Internet服务器连接,而不考虑基本的通信协议。 大多数使用HINTERNET句柄,并被安排在一个树体系中,可继承属性,如异步设置,关闭句柄其分支也关闭。 二、常用Internet函数和WinInet API HINTERNET InternetOpen( IN LPCSTR lpszAgent, //调用Internet函数的应用名字 IN DWORD dwAccessType, //访问类型,如配置,是否需要代理等 IN LPCSTR lpszProxyName, //代理名,为NULL则从注册表中取 IN LPCSTR lpszProxyBypass, //不经代理的主机名或IP列表,NULL从注册表取 IN DWORD dwFlags //异步、缓冲、离线等选项 ); //初始化WinInet库,且返回一对话句柄 BOOL InternetSetOption( IN HINTERNET hInternet, //对话句柄 IN DWORD dwOption, //选项 IN LPVOID lpBuffer, //选项设置缓冲区 IN DWORD dwBufferLength //缓冲区长度 ); // INTERNET_OPTION_CALLBACK 句柄所指的返回函数的地址 INTERNET_OPTION_CONNECT_TIMEOUT 连接请求的超时时间ms INTERNET_OPTION_CONNECT_RETRIES 重试连接请求的次数 INTERNET_OPTION_CONNECT_BACKOFF 两次重试连接请求之间等待的延迟 INTERNET_OPTION_DATA_SEND_TIMEOUT INTERNET_OPTION_DATA_RECEIVE_TIMEOUT INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT 从FTP对话接收控制信息的超时时间 INTERNET_OPTION_CONTROL_SEND_TIMEOUT 从FTP对话发送控制信息的超时时间 INTERNET_OPTION_PASSWORD 由InternetConnect()创建的句柄的口令 INTERNET_OPTION_READ_BUFFER_SIZE 读取数据缓冲区大小 INTERNET_OPTION_WRITE_BUFFER_SIZE 写数据缓冲区大小 此外还有函数InternetSetOptionEX,扩充了一些功能,但是没有实现。 BOOL InternetQueryOption( IN HINTERNET hInternet, IN DWORD dwOption, OUT LPVOID lpBuffer, IN OUT LPDWORD lpdwBufferLength ); 如查询INTERNET_OPTION_HANDLE_TYPE返回可能是: INTERNET_OPTION_HANDLE_TYPE_INTERNET INTERNET_OPTION_HANDLE_TYPE_CONNECT_FTP INTERNET_OPTION_HANDLE_TYPE_CONNECT_HTTP等 查询INTERNET_OPTION_PARENT_HANDLE返回父句柄 查询INTERNET_OPTION_KEEP_CONNECTION表明该句柄是否使用永久性连接 INTERNET_KEEP_ALIVE_UNKOWN INTERNET_KEEP_ALIVE_ENABLED INTERNET_KEEP_ALIVE_DISABLED 查询INTERNET_OPTION_REQUEST_FLAGS返回有关当前下载的一些标志,比如SSL/PCT服务器认证的信息 DWORD InternetAttemptConnect( IN DWORD dwReserved ); //连接确认 HINTERNET InternetConnect( IN HINTERNET hInternetSession, IN LPCSTR lpszServerName, //服务器名或IP地址 IN INTERNET_PORT nServerPort, IN LPCSTR lpszUsername,//用户名,若为空对于FTP是anonymous,对于HTTP会出错 IN LPCSTR lpszPassword, IN DWORD dwService,//指定连接对象,可以

文档评论(0)

wangxing1张 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档