- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第10章 Internet编程 10.1 用MFC WinSock类进行网络通信设计 套接字(Socket)是互连网的终点。 。底层的套接字函数是WinInet API的一部分,CSocket的基类如下图所示。 10.1.1 创建套接字 用两步来创建一个套接字。首先,必须创建一个CSocket对象。然后,利用Create()函数创建一个基本的套接字句柄。下面是创建连接到端口4500的套接字的例子: 10.1.2 连接套接字 一旦创建了一个套接字,就可以同其他终点或套接字建立连接,必须使用Connect()函数来做到这一点。Connect()函数有两个参数,一个是指向SOCKADDR_IN结构的指针,一个是结构的字节尺寸。SOCKADDR_ADDR结构有下面的格式: 本结构中的IP地址是IN_ADDR类型。IN_ADDR结构在Windows套接字的头文件winsock.h中定义如下: 建立一个连接的最后一步是使用connect()函数。下面的代码试图连接到服务器。这个代码使用在前面已定义好的SOCKADDR_IN结构: 10.1.3 监听一个连接 使用Create()函数之后,需要调用Listen()函数监听在端口上新来的连接,只有当Listen()函数响应了一个调用或有一个套接字错误发生时才会有返回。下面的代码就是监听一个连接: 10.1.4 读和写数据 Receive()函数从远端终点读取数据,Send()函数发送数据到远端终点。 例10.1 Receive()函数的应用。 Receive()函数的第三个可选参数指明调用建立的方式。它的值可以是下表中的标志的并集。 10.2 用MFC WinInet类开发应用程序 10.2.1 MFC WinInet类的优点及其功能 MFC对WinInet的封装是通过提供三个由CStdioFile派生类实现的。 MFC WinInet类有如下优点: (1)缓冲器输入输出; (2)数据的类型安全处理; (3)许多函数的参数都是缺省值; (4)对普通的Internet错误进行异常处理; (5)自动清除打开的句柄和连接。 使用WinInet提供的API函数,可以: (1)通过http协议下载html页,http协议是专门用在服务器和客户浏览器之间传输html页。 (2)发送ftp请求上传或下载文件以及获取服务器的目录信息。通过匿名登陆下载文件便是ftp的典型应用。 10.2.2 Internet客户端程序实现步骤 WinInet中的CInternetSession是管理会话的类。CInternetSession的构造函数中接收六个参数: 在建立会话后就可以利用CInternetSession∷OpenURL打开一个URL,并读取数据,函数原型为: 本文给出的例子就是利用WinInet通过HTTP协议读取网上文件。完成这一功能的代码非常简单,当然代码中少了各种错误检测。 10.3 实 例 10.3.1 设计一个浏览器 单一URL地址连接程序 (1)新建一个对话框工程EX_Brower01 (2)新添加一个Microsoft Web浏览器控件: l选择菜单栏(Project/Add to Project/Component and Control)命令 l打开(Components and Control Gallery)对话框中,选择(Registered ActiveX Control),单击Insert按钮 l在接下来的窗口中选择要添加的控件(Microsoft Web浏览器),单击Insert按钮 l? 随后单击OK按钮 l最后单击Close按钮,这时,Microsoft Web浏览器控件就出现在控件栏中 (3)设计界面 将Microsoft Web浏览器控件拖入对话框中,ID为默认的IDC_EXPLORER1 同时在Web浏览器控件的右侧放置一个命令按钮, ID为“ IDC_EXPLORER_BUTTON ”,标题为‘’浏览“。效果见下图 (4)添加变量 为Web浏览器控件添加变量“m_Explorer”,类型为CWebBrowser2。 (5)添加函数 为按钮添加单击事件处理函数OnExplorerButton(),代码如下 (6)测试程序 如你的计算机已接入Internet,当点击” 浏览”按扭时,能浏览到的主页。运行效果如下图 带地址栏的浏览器 (1)打开上面的工程 (2)添加一个静态文本,标题为地址栏;添加一个组合框,ID为IDC_COMBO1组合框的样式为Dropdown
您可能关注的文档
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch07.ppt
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch08.ppt
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch09.ppt
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch10.ppt
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch11.ppt
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch12.ppt
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch13.ppt
- Visual C# 2005程序设计教程 教学课件 作者 978 7 302 19477 4 ch14.ppt
- Visual C# 2008程序设计案例教程电子教案源代码 1.ppt
- Visual C# 2008程序设计案例教程电子教案源代码 2.ppt
- Visual C++程序设计基础 教学课件 作者 刘加海 主编 应潇潇 黄崇本 余建军 副主编 第11章.ppt
- Visual C++程序设计教程 教学课件 段智毅 第11章 网络编程.ppt
- Visual C++程序设计教程 教学课件 段智毅 第12章 综合实训.ppt
- Visual C++程序设计教程梁建武电子教案 第1章.ppt
- Visual C++程序设计教程梁建武电子教案 第2章.ppt
- Visual C++程序设计教程梁建武电子教案 第3章.ppt
- Visual C++程序设计教程梁建武电子教案 第4章.ppt
- Visual C++程序设计教程梁建武电子教案 第5章.ppt
- Visual C++程序设计教程梁建武电子教案 第6章.ppt
- Visual C++程序设计教程梁建武电子教案 第7章.ppt
文档评论(0)