网络应用程序设计方法

上传人:xzh****18 文档编号:56622762 上传时间:2018-10-14 格式:PPT 页数:48 大小:171.50KB
返回 下载 相关 举报
网络应用程序设计方法_第1页
第1页 / 共48页
网络应用程序设计方法_第2页
第2页 / 共48页
网络应用程序设计方法_第3页
第3页 / 共48页
网络应用程序设计方法_第4页
第4页 / 共48页
网络应用程序设计方法_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《网络应用程序设计方法》由会员分享,可在线阅读,更多相关《网络应用程序设计方法(48页珍藏版)》请在金锄头文库上搜索。

1、1,网络应用程序设计方法,第8章,2,8.1 网络聊天程序任务8.1.1 任务描述VB提供了一系列的网络编程控件,利用它们,网络编程将成为一件快乐而简单的工作。VB网络控件主要有三种:(1)Winsok控件 主要用于编制基于TCP/IP或UDP协议的网络应用程序。(2)Internet Transfer控件 主要以来传输文件,执行FTP命令以及登录服务器等。(3)WebBrowser 用于创建浏览器本节先介绍Winsok控件。,3,在网络编程中最常用的方案是客户机/服务器模式(Client/Server,简称C/S)。这种模式包含客户机和服务器两类应用程序。其中客户应用程序向服务器请求服务,而

2、服务程序通常在一个众所周知的地址侦听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户提出了连接请求。此时,服务持续将被唤醒,并对客户的请求作出适当的反应。,4,聊天服务程序:由客户端和服务端两个程序组成,采用Winsok控件开发。这两个程序可以在同一台计算机上运行,也可以在网络上不同的计算机上运行。整个系统的运行机制是:第一步:建立连接主要过程是:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。第二步:开始聊天主要过程是:在客户机的“发送的信息”文本框中输入文字时,服务器端的“收到的信息”文本框中就会实时地显示相同的文字,

3、反之亦然。,5,P215 习题 一、填空题,1. Winsock控件主要用来编制TCP/IP或 协议的通话程序。 答案:UDP2. 在网络编程中最常用的方案是 。 答案:客户机/服务器程序(Client/Server),6,P215 习题 三、问答题 2.简述网络聊天程序的运行过程。 答:网络聊天程序的运行过程是:第一步:建立连接主要过程是:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。第二步:开始聊天主要过程是:在客户机的“发送的信息”文本框中输入文字时,服务器端的“收到的信息”文本框中就会实时地显示相同的文字,反之亦然。,7,8.

4、1.2. 服务器的界面设计 1.创建一个“标准 EXE”工程,选中“工程”菜单的“部件”,在控件中找到Microsoft Winsock Control并将其选中。 2.将Form1的名称改为frmSvr,并在其中添加两个命令按钮(Command1的Caption属性为“退出”,Command2的Caption属性为“发送”)。 3.在窗体是添加三个TextBox控件,其名称分别为txtServerIP,txtSend和txtReceive。 4.在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即sckTCPProtocol)。,8,8.1.3 服务器程序代码设计

5、 Private Sub Form_Load()设置侦听端口WinsockServer.LocalPort = 10001读取服务器的IP地址TxtServerIP.Text = WinsockServer.LocalIP开始侦听WinsockServer.Listen End SubPrivate Sub Command1_Click()点击“退出”按钮后关闭应用程序Unload Me End Sub,9,8.1.3 服务器程序代码设计 Private Sub Command2_Click()只要txtSend文本框的内容写好以后就由WinsockServer控件发送WinsockServe

6、r.SendData TxtSend.Text End SubPrivate Sub WinsockServer_ConnectionRequest(ByVal requestID As Long)当收到连接请求时,Winsock处于侦听状态此时应该使用Close方法关闭Winsock,然后使用Accept方法接受连接请求WinsockServer.CloseWinsockServer.Accept requestID End Sub,10,8.1.3 服务器程序代码设计Private Sub WinsockServer_DataArrival(ByVal BytesTotal As Long

7、)当客户端有信息发送来时,利用WinsockServer控件的GatData方法读取数据并将其显示在txtReceive文本框中Dim MyStr As StringWinsockServer.GetData MyStrTxtReceive.Text = MyStr End Sub,11,8.1.4 客户机程序界面设计 1.创建一个新的“标准 EXE”工程,并添加Winsock 控件。 2.将Form1的名称改为frmClt,并在其中添加两个命令按钮(Command1的Caption属性为“退出”, Command2的Caption属性为“连接服务器” ,Command3的Caption属性为

8、“发送”)。 3.在窗体是添加四个TextBox控件,其名称分别为txtClientIP,txtServerIP,txtSend和txtReceive。 4.在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即sckTCPProtocol)。,12,8.1.4. 客户机的程序代码设计 Private Sub Form_Load()设置聊天服务器的侦听端口WinsockClient.RemotePort = 10001读取本机的IP地址txtClientIP.Text = WinsockClient.LocalIP End SubPrivate Sub Command

9、1_Click()点击“退出”按钮后关闭应用程序Unload Me End Sub,13,8.1.4. 客户机的程序代码设计 Private Sub Command2_Click()根据txtServerIP文本框中输入的服务器IP,连接聊天服务器WinsockClient.RemoteHost = txtServerIP.TextWinsockClient.Connect End SubPrivate Sub Command3_Click()输入txtSend文本框的内容后由WinsockServer控件发送WinsockClient.SendData txtSend.Text End Su

10、b,14,8.1.4. 客户机的程序代码设计 Private Sub WinsockClient_Connect()如果与服务器连接成功,则向用户提供下列信息MsgBox “你成功地与聊天服务器进行了连接“, vbInformation End SubPrivate Sub WinsockClient_DataArrival(ByVal BytesTotal As Long)当服务器有信息发送来时,利用WinsockClient控件的GatData方法读取数据并将其显示在txtReceive文本框中Dim MyStr As StringWinsockClient.GetData MyStrtx

11、tReceive.Text = MyStr End Sub,15,演示聊天程序,16,8.2 Winsock控件及网络应用程序设计基础Winsock控件是建立在TCP协议的基础上,能够完成远程计算机间的通信,用途非常广泛。即使我们对TCP/IP,TCP这些知识不太熟悉,只要理解了网络应用程序设计的一般原理,并对Winsock的主要属性、方法和事件有所了解,也可以在很短时间内创建一个简单的网络通信程序。,17,8.2.1 Winsock控件的主要属性 Winsock控件主要有八个属性: 1. BytesReceived属性:返回接收到的数据。通常用GetData方法来获取这些数据。 2. Loc

12、alHostName属性:返回本地计算机的名称。 3. LocalIP属性:返回本地计算机的IP地址。 4. LocalPost属性:返回或者设置所用的端口,如果设置为0,则使用随机端口。 5. Protocol属性:返回或设置Winsock所用的协议(TCP或UDP)。 6. RemoteHostName属性,返回或设置远程计算机的名称。 7. RemoteHostIP属性,返回远程计算机的IP地址。 8. State属性:返回Winsock控件的当前状态。,18,Winsock控件的State属性,19,P215 习题 二、填空题,3. 如果希望得到本地计算机的IP地址,可以使用Winso

13、ck控件的 属性。 答案:LocalIP 4. Winsock控件的BytesReceived属性返回接收到的数据,通常使用 方法来获取这些数据。 答案:GetData 3. 如果Winsock1.LocaPort=0,那么应用程序将 。 答案:使用随机端口,20,8.2.2 Winsock控件的主要方法 Winsock控件的方法主要有六个: 1. Listen方法 语法: Winsock对象.Listen 作用:使服务器处于侦听状态,等待客户访问。 2. Connect方法 语法: Winsock对象.Connect远程主机IP,远程端口 作用:用于向远程主机发出连接请求。 3. Accep

14、t方法 语法: Winsock对象.Accept RequestID 作用:用于接受一个连接请求,其中RequestID是客户机发来的请求信号,21,8.2.2 Winsock控件的主要方法 Winsock控件的方法主要有六个: 4. SendData方法 语法: Winsock对象.SendData 数据 作用:用于发送数据 5. GetData方法 语法: Winsock对象. GetData 变量数据类型,最大长度 作用:用来获得接收到的数据 6. Clcse方法 语法: Winsock对象.Close 作用:关闭当前连接,22,P215 习题 二、填空题,5. Winsock1.Lis

15、ten语句的含义是 。 答案:LocalIP 使服务器处于侦听状态,等待客户访问。,23,8.2.3 Winsock控件的主要事件 Winsock控件的事件主要有两个: 1.DataArrival事件:一旦数据到达,就会触发该事件。它通常与GetData方法一起使用,通过GetData方法获得新到达的数据。 2. ConnectionRequest事件:当客户机使用Connect方法请求连接时触发该事件,它通常与Accept方法一起使用,用来接受客户机的连接请求。,24,P214 习题 一、单项选择题,1. 一旦数据到达,将首先触发Winsock控件的( )。 A. DataArrival事件

16、 B. ConnectionRequest事件 C. DataSand事件 D. DataGet事件答案:B,25,P214 习题 一、单项选择题,2. 要发送数据,通常使用Winsock控件的( )。 A. SendData方法 B. Listen方法 C. Accept方法 D. GetData方法答案:A,26,P214 习题 一、单项选择题,3. 当Winsock控件处于关闭状态时,其State属性的值是( )。 A. 1 B. 0 C. 2 D. 6答案:B,27,P214 习题 一、单项选择题,4. 当Winsock控件的LocalPort属性的作用是( )。 A. 仅返回所有端口 B. 仅设置所有端口 C. 返回或设置所有端口 D. 返回或设置IP地址答案:B,

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

当前位置:首页 > IT计算机/网络 > 多媒体应用

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