VB语言程序设计教程 教学课件 ppt 作者 杨忠宝 康顺哲 第12章 网络应用程序设计

上传人:E**** 文档编号:89399457 上传时间:2019-05-24 格式:PPT 页数:47 大小:467KB
返回 下载 相关 举报
VB语言程序设计教程 教学课件 ppt 作者  杨忠宝 康顺哲 第12章 网络应用程序设计_第1页
第1页 / 共47页
VB语言程序设计教程 教学课件 ppt 作者  杨忠宝 康顺哲 第12章 网络应用程序设计_第2页
第2页 / 共47页
VB语言程序设计教程 教学课件 ppt 作者  杨忠宝 康顺哲 第12章 网络应用程序设计_第3页
第3页 / 共47页
VB语言程序设计教程 教学课件 ppt 作者  杨忠宝 康顺哲 第12章 网络应用程序设计_第4页
第4页 / 共47页
VB语言程序设计教程 教学课件 ppt 作者  杨忠宝 康顺哲 第12章 网络应用程序设计_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《VB语言程序设计教程 教学课件 ppt 作者 杨忠宝 康顺哲 第12章 网络应用程序设计》由会员分享,可在线阅读,更多相关《VB语言程序设计教程 教学课件 ppt 作者 杨忠宝 康顺哲 第12章 网络应用程序设计(47页珍藏版)》请在金锄头文库上搜索。

1、第12章 网络应用程序设计,主 讲:,第 12 章,网络应用程序设计,12.1 网络基础 12.2 Winsock控件 12.3 WebBrowser控件 12.4 Internet Transfer控件,第12章 网络应用程序设计,网络基础 Winsock控件,重 点,第12章 网络应用程序设计,难 点,Winsock控件 Internet Transfer控件,第12章 网络应用程序设计,12.1 网络基础,12.1.1 IP地址 所谓IP地址就是给每个连接在Internet上的主机分配的一个32bit地址。 Internet 上的每台主机(Host)都有一个唯一的IP地址。IP协议就是使

2、用这个地址在主机之间传递信息,这是Internet 能够运行的基础。 IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0255,段与段之间用句点隔开。 例如:192.168.0.1,掌握,12.1 网络基础,12.1.2 域名 域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。 网络中的地址方案分为两套:IP地址系统和域名地址系统。由于IP地址是数字标识,使用时难以记忆和书写,因此在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址。 每一个符

3、号化的地址都与特定的IP地址对应,这样网络上的资源访问起来就容易得多了。这个与网络上的数字型IP地址相对应的字符型地址,就被称为域名。,掌握,12.1 网络基础,12.1.3 端口 这里所说的端口(port)是逻辑意义上的端口,是指TCP/IP协议中的端口,通过16位的端口号来标记的,端口号只有整数,范围是从0 到65535(216-1)。 在Internet上,各主机间通过TCP/IP协议发送和接收数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择。可见,把数据包顺利的传送到目的主机是没有问题的。 当目的主机接收到数据包后,将根据报文首部的目的端口号,把数据发送到相应端口,

4、而与此端口相对应的那个进程将会领取数据并等待下一组数据的到来。 不光接收数据包的进程需要开启它自己的端口,发送数据包的进程也需要开启端口,这样,数据包中将会标识有源端口,以便接收方能顺利的回传数据包到这个端口。,掌握,12.1 网络基础,我们知道,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务完全可以通过一个IP地址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP地址+端口号”(套接字)来区分不同的服务的。 需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机

5、访问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑通信,但你的电脑则可能使用“3457”这样的端口。 另外,1024以下的端口号(01023)已经分配给了一些知名的协议,称为熟知端口。用户在开发自己的应用程序时,避免使用这些熟知端口。尽量使用大于或等于1024的端口号。,掌握,12.1 网络基础,12.1.4 协议 网络协议的定义:为计算机网络中进行数据交换而建立的规则、标准或约定的集合。 Internet上的计算机使用的是TCP/IP协议。 TCP:是Transmission Control Protocol 的简称,中文名是传输控制协议,是一种面向连接的、可靠的、基于字节流的运

6、输层通信协议。在计算机网络OSI模型中,它完成第四层传输层所指定的功能。它在两个主机之间建立连接,提供双向、有序且无重复的数据流服务,以及差错控制、流量控制等服务,保证数据的可靠传输。 UDP 是User Datagram Protocol的简称,中文名是用户数据包协议,是OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。数据发出去后并不进行差错控制,不能保证数据的可靠传输,一般只用于少量的数据传输。 TCP协议和UDP协议都使用端口号来区分运行在同一台主机上的多个应用程序(进程)。,掌握,12.2 Winsock控件,12.2.1 Winsock控件介绍 Win

7、sock是Microsoft Windows提供的网络编程接口,它提供了基于TCP/IP协议的接口实现方法。 Winsock控件能够通过UDP协议或TCP协议连接到远程计算机并进行数据交换。使用这两种协议可以开发复杂的网络应用程序。 要使用Winsock控件,首先应该将其添加到工具箱中,方法为:选择“工程”“部件”弹出“部件”对话框。在控件列表中选择“Microsoft Winsock Control 6.0”项,单击“确定”按钮,Winsock控件就会被添加到工具箱中。 Winsock控件在运行状态下不可见。,掌握,12.2 Winsock控件,12.2.1 Winsock控件的常用属性 1

8、. Protocol属性 设置使用的协议(TCP或UDP),其取值及含义如表12-1所示。 表12-1 Protocol属性取值及含义 常 数数 值含 义sckTCPProtocol0使用TCP协议,默认值sckUDPProtocol1使用UDP协议该属性可以在属性窗口设置,也可以在程序中设置。例如: Winsock1.Protocol = sckTCPProtocol 2. RemoteHost属性 指定要连接的远程主机的名称(域名)或IP地址(字符串型),例如: Winsock1.RemoteHost = “192.168.10.2”,掌握,12.2 Winsock控件,3. Remote

9、Port属性 设置或返回要连接的应用程序(进程)的远程端口号,尽量使用大于1024的端口号。例如: Winsock1.RemotePort = 6666 4. RemoteHostIP属性 返回实际连接的远程计算机的IP地址(字符串型)。可以是客户端IP,也可以是服务器端IP。当使用TCP协议时,在连接成功后,对于客户端,该属性为服务器IP;对于服务器,该属性为客户端IP。当使用UDP协议时,在DataArrival(数据到达)事件出现后,该属性包含了发送UDP数据的计算机的IP地址。 5. LocalHostName属性 返回本地计算机名。只在运行状态可用。,掌握,12.2 Winsock控

10、件,6. LocalPort属性 用于设置或返回Winsock控件使用的本地端口。对于服务器进程来说,这是用于侦听的本地端口号,必须设置;对于客户端进程来说,该属性指定发送数据的本地端口,可以不设置,由Winsock控件随机指定。 7. LocalIP属性 返回本地主机的IP地址(字符串型),只在运行状态可用。 8. State属性 用于返回Winsock控件的当前状态。,掌握,12.2 Winsock控件,12.2.2 Winsock控件的常用方法 1. Connect方法 使用TCP协议时,用于建立与远程服务器的连接,该方法只在客户端使用。 格式:Object.Connect remote

11、Host , remotePort 2. Accept方法 接收一个新的连接请求。该方法只能在服务器端的应用程序中的ConnectRequest事件过程中使用。 格式:Object.Accept requestID 其中,requestID参数是ConnectRequest事件传递过来的请求号。 3. Listen方法 进行TCP连接时,用于创建套接字并设置为侦听模式。该方法只适用于TCP连接。 格式:Object.Listen,掌握,12.2 Winsock控件,4. SendData方法 用于将数据发送给远程计算机。 格式:Object.SendData data 其中,data参数是要发

12、送的数据。 5. GetData方法 用于获取从网络传送给Winsock控件的数据,该方法通常在DataArrival事件过程中使用。 格式:Object.GetData data , type , maxlen 其中,data参数用于存放传过来的数据,一般为变量;type参数指定数据类型;maxlen指定数据的最大长度。 6. Close方法 用于关闭TCP连接。,掌握,12.2 Winsock控件,12.2.3 Winsock控件的常用事件 1. Connect事件 该事件在编写客户端应用程序时使用。当与服务器的连接成功后被触发。通常在该事件中写入连接成功提示信息并返回服务器IP等。 2.

13、 ConnectionRequest事件 该事件只能在使用TCP协议编写服务器应用程序时使用。当远程计算机请求连接时被触发,在该事件中经常使用Accept方法接受新请求的连接。 3. DataArrival事件 当新的数据到达时触发,该事件的bytesTotal参数指明了新到达数据的总字节数。 4. SendComplete事件 当完成一个发送操作时触发。 5. Close事件 当远程计算机关闭连接时被触发。,掌握,12.2 Winsock控件,12.2.4 Winsock编程模型 1. 基于TCP的模型 TCP协议是面向连接的协议,允许创建和维护与远程计算机的连接。连接两台计算机就可以彼此进

14、行数据传输。将运行服务器应用程序的计算机称为服务器,运行客户端应用程序的计算机称为客户机。 (1) 如果创建服务器应用程序,就应设置一个侦听端口(LocalPort属性)并调用Listen方法侦听在这个端口上的传入信息。当客户机传来要求连接的请求时就会发生ConnectionRequest事件。可调用ConnectionRequest事件内的Accept方法完成连接。 (2) 如果要创建客户端应用程序,就必须知道服务器的域名或IP地址,以便给RemoteHost属性设置值,还必须知道服务器应用程序(进程)在哪个端口上进行侦听,比便给RemotePort属性设置该端口值。最后调用Connect方

15、法连接服务器。 连接成功后,任何一方都可以收发数据。可以调用SendData方法来发送数据。当对方发来的数据达到时会触发DataArrival事件。此时可调用DataArrival事件内的GetData方法来接收数据。当所有数据都发送完成后,调用Close方法关闭TCP连接。,掌握,12.2 Winsock控件,2. 基于UDP的模型 UDP协议是一个无连接协议,两台计算机传送数据之前并不需要建立连接。 每台参与通信的计算机既可以是服务器,也可以是客户机。 假设计算机1要向计算机2发送数据。首先要设置计算机2的LocalPort属性(假如:5678)。然后在计算机1端,将RemoteHost属

16、性设置为计算机2的IP地址(192.168.10.4),将RemotePort属性设置为计算机2的端口号(5678),并调用SendData方法来发送数据。最后,计算机2调用DataArrival事件内的GetData方法来接收计算机1发来的数据。,掌握,12.2 Winsock控件,12.2.5 Winsock控件用法示例简易聊天程序 下面分别列举两个示例来说明使用TCP协议和UDP协议开发简易聊天程序的过程。 【例12.1】使用TCP协议编写一个两台主机可以互相发信息聊天的程序。两台主机中一台为服务器,另一台为客户机。所以,需要编写两个程序,分别实现服务器的功能和客户机的功能。 1. 服务器端程序设计 (1) 启动VB6.0,新建一个标准EXE工程,将默认窗体名称改为frmServer。 (2) 选择“工程”菜单下的“工程1 属性”菜单项,在打开的“工程1工程属性”对话框中将“工程名称”栏中的内容改为“Server”,并单击“确定”按钮。,掌握,12.2 Winsock控件,(3) 右击工具箱,选择“部件”菜单项,在打开的“部件”对话框

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

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

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