编写简单的网络程序.ppt_第1页
编写简单的网络程序.ppt_第2页
编写简单的网络程序.ppt_第3页
编写简单的网络程序.ppt_第4页
编写简单的网络程序.ppt_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、第14章 编写简单的网络程序,Visual Basic 程序设计教程,Visual Basic程序设计教程,2,本章介绍: Internet基本控件 使用WebBrowser控件 为应用程序增加FTP功能 创建Internet Transfer控件 使用Winsock控件 Visual Basic Script简介,Visual Basic程序设计教程,3,14.1 概述,VB网络应用程序主要有两种类型:IIS应用程序和DHTML应用程序。 IIS应用程序,是根据Microsoft Internet Information Server命名的,它驻留在Web服务器上,用来处理从浏览器来的输入请

2、求。IIS应用程序对请求进行处理、运行相关的VB代码并向用户返回响应信息。IIS应用程序的所有处理都在服务器上进行。,Visual Basic程序设计教程,4,DHTML应用程序,是为动态HTML命名的,它允许编写代码来处理HTML页面上任何元素的事件。 在VB里还可以向工程中增加其它类型的Internet功能,可以在基于窗体的应用程序中利用一些特别设计的网络控件来扩展Internet的功能。,Visual Basic程序设计教程,5,14.2 一个简单的网络浏览器,【例14-1】 利用WebBrowser控件制作一个简单的浏览器,程序运行时的界面如图14.1所示。窗体上有一个标签、一个文本框

3、和一个WebBrowser控件。标签的Caption属性 如图所示,文本框的Tex t属性置空,其它属性均 为缺省设置。,Visual Basic程序设计教程,6,WebBrowser控件不是VB的标准控件,使用之前必须将其添加到工具箱中。通过选择“工程”菜单中的“部件”命令,打开“部件”对话框,再从中选择“Microsoft Internet Control”进行添加,然后在窗体上相应的位置放置控件。,Visual Basic程序设计教程,7,Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then WebBr

4、owser1.Navigate Text1.Text 显示指定的页面 End Sub Private Sub Form_Resize() WebBrowser1.width=Scalewidth WebBrowser1.Height=ScaleHeight-Text1.Height End Sub,Visual Basic程序设计教程,8,14.3 Internet基本控件,Visual Basic程序设计教程,9,14.4 使用WebBrowser控件,WebBrowser控件是一个基于IE内核的浏览器控件,它具有网页浏览、局部文档浏览和文件下载等许多Internet Explorer浏览器

5、的特性,通过WebBrowser控件可以快速地开发出功能强大的浏览器。,Visual Basic程序设计教程,10,14.4.1 WebBrowser控件的属性、方法和事件 1WebBrowser控件的属性,Visual Basic程序设计教程,11,2WebBrowser控件的方法 WebBrowser控件的常用的方法如下: (1)GoHome方法 使用格式:object.GoHome 功能:装入设定的起始页。 (2)Navigate方法 使用格式:object.Navigate URL 功能:装入指定的页面。,Visual Basic程序设计教程,12,(3)GoBack方法 使用格式:o

6、bject.GoBack 功能:返回上一个页面。 (4)GoForward方法 使用格式:object.GoForward 功能:进入下一个页面。,Visual Basic程序设计教程,13,(5)Refresh方法 使用格式:object.Refresh 功能:刷新页面。 (6)Stop方法 使用格式:object.Stop 功能:停止载入页面。 (7)GoSearch方法 使用格式:object.GoSearch 功能:搜索页面。,Visual Basic程序设计教程,14,3WebBrowser控件的事件 (1)ProgressChange事件 功能:当浏览器下载页面时触发该事件, Pr

7、ogressMax是下载完成的最大值,Progress是 当前下载完成的值。 (2)DownloadComplete事件 功能:页面下载完成后触发该事件。 (3)NavigateComplete2事件 功能:当浏览一个新的页面时触发该事件。,Visual Basic程序设计教程,15,(4)TitleChange事件 功能:当前浏览的页面标题发生改变时触发该事件。 (5)BeforeNavigate2事件 功能:浏览器装入页面前触发该事件,其中URL参 数为将要装入的页面地址。 (6)StatusTextChang事件 功能:当浏览器的操作状态改变时调用,其中 Text为浏览器的操作状态。,V

8、isual Basic程序设计教程,16,【例14-2】设计一个WWW浏览器。界面设计和程序运行如图14.2所示,该浏览器实现基本的浏览功能,如浏览网页,前进、后退、停止、刷新、主页、搜索和下载进度显示等功能。,Visual Basic程序设计教程,17,按照程序实现的功能,在窗体中加入一个工具栏控件、一个ImageList控件、一个标签控件、一个组合框控件、一个WebBrowser控件和一个状态栏控件,ImageList控件中的图片如图所示。,Visual Basic程序设计教程,18,14.5 为应用程序增加FTP功能,实现FTP功能可使用Internet Transfer控件,该控件支持

9、两种最常用的网络协议:HTTP和FTP。 Internet Transfer控件可以按照WebBrowser控件的方式连接到一个使用HTTP协议的WWW服务器,但与WebBrowser控件不同的是,Internet Transfer控件看不到自动显示的实际网页,而是取到网页的HTML代码文件。,Visual Basic程序设计教程,19,使用FTP协议可以在FTP服务器上登录,实现文件的上传或下载。 Internet Transfer控件的一般用途是为应用程序增加FTP功能,Visual Basic程序设计教程,20,14.5.1 创建Internet Transfer控件 “工程”菜单中的“

10、部件”命令,打开“部件”对话框,再从中选择“Microsoft Internet Transfer Control 6.0”进行添加。该控件在窗体上缺省的名称为Inet1,在程序运行时不可见。,Visual Basic程序设计教程,21,14.5.2 Internet Transfer控件的属性,Visual Basic程序设计教程,22,Visual Basic程序设计教程,23,14.5.3 Internet Transfer控件的方法 Internet Transfer控件的常用方法有: 1Cancel方法 使用格式:Inet1.Cancel 功能:取消当前的请求,关闭所有已建立的连接。

11、 2Execute方法 使用格式:Inet1.Execute url,operation,data,requestHeaders 功能:执行向远程服务器的请求以完成某种操作。 Execute方法包含的参数如教材表14.4所示。,Visual Basic程序设计教程,24,3OpenURL方法 使用格式:Inet1.OpenURL URL ,datatype 功能:打开并返回指定URL的文档。 参数url是必需的,表示被检索文档的URL。参数datatype是可选的。用来指定数据类型。 4Getchunk方法 使用格式:Inet1.GetChunk(size,datatype) 功能:从远程主机

12、获取数据,从StateChanged事件中检索数据。把Execute方法当作GET操作来调用之后使用该方法。 参数Size是必需的,是长整型数值表达式,决定被检索的块的大小。,Visual Basic程序设计教程,25,5.GetHeader方法 使用格式:Inet1.GetHeader (hdrName) 功能:获取HTTP文件的标头文本。 参数hdrName是可选的。字符串,指定将被检索的标头,如果没有指定标头,将返回所有的标头。,Visual Basic程序设计教程,26,14.5.4 Internet Transfer控件的事件 Internet Transfer控件只有一个State

13、Changed事件,当连接中状态发生改变,就会引发该事件。事件的格式是: Private Sub Inet1_StateChanged(ByVal State As Integer) 参数State用于指定Internet Transfer控件的状态,它的取值如教材表14.7所示。,Visual Basic程序设计教程,27,【例14-3】使用HTTP协议下载WEB网页的HTML文档,界面如图所示。窗体中有一个Internet Transfer控件、一个 标签、一个命令按钮 和两个文本框。各个 控件的属性如图所示, Internet Transfer控件的属性采用缺省设置。,Visual Ba

14、sic程序设计教程,28,【例14-4】使用FTP协议从服务器获取根目录,程序界面如图所示。窗体 中有一个Internet Trans fer控件、三个标签、一 个命令按钮、一个文本 框和一个列表框。各个 控件的属性如图所示,Internet Transfer控件的属性采用缺省设置。,Visual Basic程序设计教程,29,利用WinSock控件可以实现与远程计算机建立连接,并通过传输控制协议(TCP)或者用户数据报文协议(UDP)进行数据交换。这两种协议都可以用来创建客户端与服务器的应用程序。通过设置控件的属性并调用其方法就可轻易连接到一台远程机器上去,并且还可双向交换数据,成为编制客户

15、端/服务器应用程序的基础。,14.6 使用Winsock控件,Visual Basic程序设计教程,30,14.6.1 Winscok控件的通讯协议 1TCP协议 TCP协议是基于连接的协议,可以将它同电话系统相比。在开始数据传输之前,用户必须先建立连接。 2UDP协议 UDP协议是一种无连接协议,跟TCP的操作不同,计算机之间并不建立连接。,Visual Basic程序设计教程,31,14.6.2 创建Winsock控件 为了使用Winscok控件,必须先将其添加到工具箱中。通过选择“工程”菜单中的“部件”命令,打开“部件”对话框,再从中选择“Microsoft Winscok Contro

16、l 6.0”进行添加。该控件在窗体上缺省的名称为Winsock1,在程序运行时不可见。,Visual Basic程序设计教程,32,14.6.3 Winsock控件的属性,Visual Basic程序设计教程,33,State属性值,Visual Basic程序设计教程,34,14.6.4 Winsock控件的方法 1Accept方法 使用格式:object.Accept requestID 功能:在处理ConnectionRequest事件时用这个方 法接受新连接请求。仅适用于TCP服务器应 用程序。,Visual Basic程序设计教程,35,例如:Private Sub Winsock1

17、_ConnectionRequest (ByVal requestID As Long) 测试 State 属性,如果当前连接是打开的话,则关 闭连接。 If Winsock1.State sckClosed Then Winsock1.Close Winsock1.Accept requestID 将requestID 参数值传递给Accept方法。 End Sub,Visual Basic程序设计教程,36,2Bind方法 使用格式:object.Bind LocalPort, LocalIP 功能:指定连接的LocalPort和LocalIP。 3Close方法 使用格式:object.

18、Close 功能:对客户机和服务器应用程序关闭TCP连接。,Visual Basic程序设计教程,37,4GetData方法 使用格式:object.GetData data, type, maxLen 功能:获取当前的数据块并将其存储在变体类型的 变量中,删除原有的数据块。 说明: (1)data参数:在方法成功返回之后存储获取数 据的地方,Visual Basic程序设计教程,38,(2)type参数:获取的数据类型。 (3)maxLen参数:在接收到字节数组或字符串时 所需大小。 通常总是将GetData方法与DataArrival事件并用, 而DataArrival事件包含bytesT

19、otal参数,这个参 数可以作为maxLen参数的值。,Visual Basic程序设计教程,39,5PeekData方法 使用格式:object.PeekData data, type, maxLen 功能:PeekData不删除输入队列的数据,除了这一 点之外,方法与GetData相似。 6Listen方法 使用格式:object.Listen 功能:服务器侦听客户端请求。,Visual Basic程序设计教程,40,说明:当有新连接时就会出现ConnectionRequest 事件。处理ConnectionRequest事件时,应用程序 应该用Accept方法接受连接。 7SendDat

20、a方法 使用格式:object.SendData data 功能:将数据发送给远程计算机,用于服务器或客 户端。,Visual Basic程序设计教程,41,14.6.5 Winsock控件的事件 1Close事件 该事件是在远程计算机关闭连接时出现。应用程序 应正确使用Close方法关闭TCP连接。 2Connect事件 该事件是在连接完成后发生。使用Connect事件确 认已经成功建立了一个连接。,Visual Basic程序设计教程,42,3ConnectionRequest事件 该事件是在远程计算机请求连接时出现。仅适用于 TCP服务器应用程序。在请求一个新连接时激活该 事件。激活事件

21、之后,RemoteHostIP和RemotePort 属性存储有关客户的信息。,Visual Basic程序设计教程,43,4DataArrival事件 该事件发生在新数据到达时。 5Error事件 无论何时,只要后台处理中出现错误(例如,连接 失败,或者后台收发数据失败)就会出现Error事 件。,Visual Basic程序设计教程,44,6SendComplete事件 该事件在完成一个发送操作时出现。 7SendProgress事件 该事件在发送数据期间出现。,Visual Basic程序设计教程,45,【例14-5】设计一个基于TCP协议的简单聊天程序。该例子由两个程序组成,一个是服务器应用程序,一个是客户端应用程序,程序界面如图所示。,Winsock控件

温馨提示

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

评论

0/150

提交评论