Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章

上传人:E**** 文档编号:89183727 上传时间:2019-05-20 格式:PPT 页数:75 大小:200KB
返回 下载 相关 举报
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章_第1页
第1页 / 共75页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章_第2页
第2页 / 共75页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章_第3页
第3页 / 共75页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章_第4页
第4页 / 共75页
Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章_第5页
第5页 / 共75页
点击查看更多>>
资源描述

《Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 教学课件 ppt 作者 王怀彬 第09章(75页珍藏版)》请在金锄头文库上搜索。

1、1,第9章 网络和多媒体,2,9.1 网络概述,Internet是全球性的互联网络,它是由计算机和网络互相连接组成的庞大集合,任何一台Internet中的计算机都能够和网中其它计算机交换信息。 目前Internet上提供的较为流行的服务有: 全球范围的超媒体信息浏览服务(WWW) 远程登录(TELNET) 文件传输(FTP) 电子邮件(Email),3,9.1 网络概述,计算机网络结点之间要做到有条不紊的交换数据,每个结点必须遵守一些事先约定好的规则,这些规则对数据交换时的交换顺序、数据格式、流量控制等进行了一系列的规定,这些规定就是网络协议。 计算机网络层次结构模型和各层协议的集合称为计算机

2、网络体系结构。,4,9.1 网络概述,OSI(Open System Interconnection开放系统互联)参考模型: 物理层、数据链路层、网络层、传输层、会话层、表示层和应用层 TCP/IP参考模型: 链路层、网络层、传输层和应用层,5,9.1 网络概述,应用层的协议主要有: FTP HTTP TELNET SMTP,6,9.1 网络概述,传输层的协议主要有: TCP UDP 网络层的协议主要有: IP,7,9.1 网络概述,IP地址: IP地址是将计算机连接到Internet的网际协议地址,由4个字节组成,共32位,如:11001010011100010100100000000110

3、。 为便于记忆,将IP地址的32位二进制分成四段,每段8位,中间用小数点隔开,然后将每八位二进制转换成十进制数,这样上述计算机的IP地址就变成了:202113726,这种格式被称作“点分十进制”格式。 IP地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识(NetID);另一部分用以标明具体的结点,即主机标识(HostID)。,8,9.1 网络概述,端口号: TCP和UDP协议采用16bit的“端口号”对应用程序加以识别,以确保目的地机器上的软件程序能从源地址机器处获得数据包,以及源计算机能收到正确的回复。 端口号的范围从0到65535。有些端口号固定分配给某种服务,比如21

4、端口分配给FTP服务,25端口分配给SMTP服务,80端口分配给HTTP服务等。,9,9.1 网络概述,套接字: IP地址标识了连接在互联网上的一台计算机,端口号标识了计算机内的一个进程,将两者结合起来就可以唯一地标识网络上任意一台计算机内的任意一个网络程序。这个唯一的标识,称作“套接字”或“端点”。,10,9.1 网络概述,客户/服务器模式: 客户/服务器模式是当前主流的网络模式。所谓客户/服务器模式,就是客户系统发出请求,服务器系统接收和处理请求,它们这种进行请求和处理的合作模式就叫做客户/服务器模式。,11,9.2 网络控件,VB6.0提供了三个ActiveX控件用来开发Internet

5、应用程序,这三个控件分别是: Winsock控件 Internet Transfer控件 WebBrowser控件,12,9.2.1 Winsock控件的属性、方法和事件,1Winsock控件的属性 Winsock控件主要包括如下属性: (1) LocalHostName属性 功能:返回本地机器名,在设计时是只读的,而且是不可用的。 返回值类型:String (2) LocalIP属性 功能:返回本地机器的IP地址,格式是:xxx.xxx.xxx.xxx。该属性在设计时是只读的,而且是不可用的。 返回值类型:String,13,9.2.1 Winsock控件的属性、方法和事件,(3) Loca

6、lPort属性 功能:返回或者设置所用到的本地端口。在设计时是可读/写的,而且是可用的。使用该属性时应知道: 对于客户端计算机,该属性指定发送数据的本地端口。如果应用程序不需要特定端口,则指定0为端口号。在这种情况下,控件将选择一个随机端口。在建立起连接之后,这就是用于TCP连接的本地端口。 对于服务器端计算机,该属性指定用于侦听的本地端口。如果指定的是端口0,就使用一个随机端口。在调用了Listen方法后,该属性就是已选定的实际端口号。,14,9.2.1 Winsock控件的属性、方法和事件,(3) LocalPort属性 返回值类型:Long 说明:在计算机之间常用端口0来动态地建立连接。

7、例如,一个客户端希望服务器端给它回应,它就可用端口0获得新的(随机)端口号,然后将该端口号交给远程计算机,从而达到目的,15,9.2.1 Winsock控件的属性、方法和事件,(4) Protocol属性 功能:返回或设置Winsock控件所使用的协议,可以是TCP,或者是UDP。其相应的设置值见表9.1。 说明:在能够重新设置该属性之前必须(用Close方法)关闭控件。,16,9.2.1 Winsock控件的属性、方法和事件,(5) RemoteHost属性 功能:返回或设置远程计算机,控件向它发送数据或从它那里接收数据。既可提供主机名,比如“http:/ 说明:在指定该属性时,应更新URL

8、属性来显示新值。如果更新URL的主机部分,则也要更新该属性来反映新值。,17,9.2.1 Winsock控件的属性、方法和事件,(6) RemoteHostIP属性 功能:返回远程机器的IP地址。使用该属性时应知道:对于客户应用程序来说,已经用Connect方法建立连接后,该属性就包含了远程机器的IP字符串。对于服务器应用程序来说,在请求连接(ConnectionRequest事件)之后,该属性包含远程计算机的IP字符串,该字符串启动了连接。 当使用UDP协议时,在DataArrival事件出现之后,该属性包含了发送UDP数据的计算机的IP地址。 返回值类型:String,18,9.2.1 W

9、insock控件的属性、方法和事件,(7) RemotePort属性 功能:返回或设置要连接的远程端口号。 返回值类型:Long 说明:在设置Protocol属性时,将针对不同的高层协议自动把RemotePort属性设置成适当的缺省端口。如:HTTP协议对应80端口,FTP协议对应21端口。,19,9.2.1 Winsock控件的属性、方法和事件,(8) SocketHandle属性 功能:返回一个与套接字句柄对应的值,控件用套接字句柄同Winsock层通信。在设计时是只读的,而且是不可用的。 返回值类型:Long 说明:该属性是为了传递到WinsockAPI而设计的。,20,9.2.1 Wi

10、nsock控件的属性、方法和事件,(9) State属性 功能:返回控件的状态,用枚举类型来表示,见表9.2。在设计时是只读的,而且是不可用的。 返回值类型:Integer,21,9.2.1 Winsock控件的属性、方法和事件,2WinSock控件的方法 WinSock控件包括如下方法: (1) Accept方法 格式:对象名.Accept requestID 功能:仅用于TCP服务器应用程序。在处理ConnectionRequest事件时用这个方法接受新连接。 说明: 1)对象名:即Winsock控件对象的名称(下同)。 2)在ConnectionRequest事件中使用Accept方法。

11、ConnectionRequest事件有一个对应的参数,即RequestID参数,该参数应该传给Accept方法。请看下例:,22,9.2.1 Winsock控件的属性、方法和事件,Private Sub Winsock1_ConnectionRequest (ByVal requestID As Long) 测试 State 属性,如果当前连接是打开的话,则关闭连接。 If Winsock1.State sckClosed Then Winsock1.Close 将 requestID 参数值传递给 Accept 方法。 Winsock1.Accept requestID End Sub 3

12、)应该在新的控件实例而不是侦听状态下的实例中使用Accept方法。,23,9.2.1 Winsock控件的属性、方法和事件,(2) Bind方法 格式:对象名.Bind LocalPort, LocalIP 功能:指定用于TCP连接的LocalPort和LocalIP。如果一台计算机上有多个网卡,就可使用这个方法。 说明: 1)LocalPort:该参数是Long类型,用于指定建立连接的端口。 2)LocalIP:该参数是string类型,用于指定建立连接的本地Internet地址。如果一台计算机上有多个网卡,可以用该参数来指定使用哪一个网卡。如果忽略该参数,控件使用的将是计算机上“控制面板”

13、设置中“网络”控制面板对话框中列出的第一个网卡。,24,9.2.1 Winsock控件的属性、方法和事件,3)在调用 Listen方法之前必须调用Bind方法。 例如:本机有两块网卡,IP地址分别为:192.168.1.100和192.168.1.105。则下列语句将使Winsock1控件侦听由第一块网卡接入的请求: Winsock1.Bind 1088, “192.168.1.100“,25,9.2.1 Winsock控件的属性、方法和事件,(3) Close方法 格式:对象名.Close 功能:对客户机和服务器应用程序关闭TCP连接或侦听套接字。,26,9.2.1 Winsock控件的属性

14、、方法和事件,(4) Connect方法 格式:对象名.Connect remoteHost, remotePort 功能:向远程计算机发起连接。 说明: 1)remoteHost:要连接的远程计算机的名称。 2)remotePort:要连接的远程计算机的端口。 3)在想建立TCP连接时,必须调用Connect方法。,27,9.2.1 Winsock控件的属性、方法和事件,(5) GetData方法 格式:对象名.GetData data, type, maxLen 功能:获取当前的数据块并将其存储在变体类型的变量中。 说明: 1)data:GetData方法成功执行之后,所获取的数据将存储在

15、该参数中。如果对请求的类型没有足够可用的数据,则将data设置成Empty。 2)type:可选项,用于指示获取数据的数据类型,可使用的设置值见表9.3。缺省值为:vbArray+vbByte。 3)maxLen:可选项,仅当type参数是字节数组或字符串时,需要该参数,用以指示接收的字节数组或字符串的大小。当type参数不是字节数组或字符串时,则忽略这个参数。 4)通常总是将GetData方法与DataArrival事件并用,而DataArrival事件包含totalBytes参数。如果指定一个比totalBytes参数小的maxlen,则将得到警告10040,以此指出剩余的字节将丢失。,2

16、8,9.2.1 Winsock控件的属性、方法和事件,以下代码在Winsock控件的DataArrival事件中使用GetData方法获取数据,并将数据存储在字符串变量中,然后在文本框Text1中加以显示。 Private Sub Winsock1_DataArrival (ByVal bytesTotal As Long) Winsock1.GetData strData, vbString Text1.Text = Text1.Text & strData End Sub,29,9.2.1 Winsock控件的属性、方法和事件,(6) Listen方法 格式:对象名.Listen 功能:创建套接字并将其设置为侦听模式。该方法仅适用于TCP连接。 说明:当有新连接时就会出现ConnectionRequest事件。处理ConnectionRequest事件时,应用程序应该(在一个新的Winsock控件实例上)用Accept方法接受连接。,30,9.2.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号