
第8章 网络应用程序设计方法
1 网络应用程序设计方法 第8章

8.1网络聊天程序任务 8.1.1任务描述 VB提供了一系列的网络编程控件,利用它 们,网络编程将成为一件快乐而简单的工作。 VB网络控件主要有三种: (1)Winsok控件主要用于编制基于 TCPP或UDP协议的网络应用程序。 (2)Internet Transfer控件主要以来传输 文件,执行FTP命令以及登录服务器等。 (3)VebBrowser用于创建浏览器 本节先介绍Winsok控件
2 8.1 网络聊天程序任务 8.1.1 任务描述 VB提供了一系列的网络编程控件,利用它 们,网络编程将成为一件快乐而简单的工作。 VB网络控件主要有三种: (1)Winsok控件 主要用于编制基于 TCP/IP或UDP协议的网络应用程序。 (2)Internet Transfer控件 主要以来传输 文件,执行FTP命令以及登录服务器等。 (3)WebBrowser 用于创建浏览器 本节先介绍Winsok控件

在网络编程中最常用的方案是客户 机/服务器模式(Cl ient,/Server,简称 C/S)。这种模式包含客户机和服务器 两类应用程序。其中客户应用程序向服 务器请求服务,而服务程序通常在一个 众所周知的地址侦听对服务的请求,也 就是说,服务进程一直处于休眠状态, 直到一个客户提出了连接请求。此时, 服务持续将被唤醒,并对客户的请求作 出适当的反应
3 在网络编程中最常用的方案是客户 机/服务器模式(Client/Server,简称 C/S)。这种模式包含客户机和服务器 两类应用程序。其中客户应用程序向服 务器请求服务,而服务程序通常在一个 众所周知的地址侦听对服务的请求,也 就是说,服务进程一直处于休眠状态, 直到一个客户提出了连接请求。此时, 服务持续将被唤醒,并对客户的请求作 出适当的反应

聊天服务程序:由客户端和服务端两个程 序组成,采用Winsok控件开发。这两个程序可以 在同一台计算机上运行,也可以在网络上不同的 计算机上运行。整个系统的运行机制是: 第一步:建立连接 主要过程是:由客户端程序向服务端程序发 出连接请求,服务端程序收到并接受连接请求, 至此客户机与服务器创建了数据交流通道。 第二步:开始聊天 主要过程是:在客户机的“发送的信息”文 本框中输入文字时,服务器端的“收到的信息” 文本框中就会实时地显示相同的文字,反之亦然
4 聊天服务程序:由客户端和服务端两个程 序组成,采用Winsok控件开发。这两个程序可以 在同一台计算机上运行,也可以在网络上不同的 计算机上运行。整个系统的运行机制是: 第一步:建立连接 主要过程是:由客户端程序向服务端程序发 出连接请求,服务端程序收到并接受连接请求, 至此客户机与服务器创建了数据交流通道。 第二步:开始聊天 主要过程是:在客户机的“发送的信息”文 本框中输入文字时,服务器端的“收到的信息” 文本框中就会实时地显示相同的文字,反之亦然

P215习题一、填空题 l.Winsock控件主要用来编制TCP或_协 议的通话程序。 答案:UDP 2.在网络编程中最常用的方案是 答案:客户机/服务器程序(Client/Server)
5 P215 习题 一、填空题 1. Winsock控件主要用来编制TCP/IP或 协 议的通话程序。 答案:UDP 2. 在网络编程中最常用的方案是 。 答案:客户机/服务器程序(Client/Server)

P215习题三、问答题 2.简述网络聊天程序的运行过程: 答:网络聊天程序的运行过程是: 第一步:建立连接 主要过程是:由客户端程序向服务端程序发出 连接请求,服务端程序收到并接受连接请求,至 此客户机与服务器创建了数据交流通道。 第二步:开始聊天 主要过程是:在客户机的“发送的信息”文本 框中输入文字时,服务器端的“收到的信息”文 本框中就会实时地显示相同的文字,反之亦然
6 P215 习题 三、问答题 2.简述网络聊天程序的运行过程。 答:网络聊天程序的运行过程是: 第一步:建立连接 主要过程是:由客户端程序向服务端程序发出 连接请求,服务端程序收到并接受连接请求,至 此客户机与服务器创建了数据交流通道。 第二步:开始聊天 主要过程是:在客户机的“发送的信息”文本 框中输入文字时,服务器端的“收到的信息”文 本框中就会实时地显示相同的文字,反之亦然

8.1.2.服务器的界面设计 1.创建一个“标准EXE”工程,选中“工程”菜单 的“部件”,在控件中找到Microsoft Winsock Control;并将其选中。 2.将Form1的名称改为frmSvr,并在其中添加两个 命令按钮(Command1的Capt ion,属性为“退出” Command2的Capt ion)属性为“发送”)。 3.在窗体是添加三个TextBox控件,其名称分别为 txtServer IP,txtSend和txtReceive。 4.在窗体上添加一个Winsock控件,将其Protoco (协议)属性设置为0(即sckTCPProtocol)
7 8.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.1.3服务器程序代码设计 Private Sub Form Load "设置侦听端口 WinsockServer.LocalPort 10001 '读取服务器的P地址 TxtServer IP.Text WinsockServer.LocalIP '开始侦听 WinsockServer.Listen End Sub Private Sub Command1_Click() '点击“退出”按钮后关闭应用程序 Unload Me End Sub
8 8.1.3 服务器程序代码设计 Private Sub Form_Load() '设置侦听端口 WinsockServer.LocalPort = 10001 '读取服务器的IP地址 TxtServerIP.Text = WinsockServer.LocalIP '开始侦听 WinsockServer.Listen End Sub Private Sub Command1_Click() '点击“退出”按钮后关闭应用程序 Unload Me End Sub

8.1.3服务器程序代码设计 Private Sub Command2_Click() '只要txtSend文本框的内容写好以后就由WinsockServer控件发送 WinsockServer.SendData TxtSend.Text End Sub Private Sub WinsockServer_Connect ionRequest (ByVal requestID As Long) '当收到连接请求时,Winsock处于侦听状态 '此时应该使用Close7方法关闭Winsock,然后使用Accept方法接 受连接请求 WinsockServer.Close WinsockServer.Accept requestID End Sub
9 8.1.3 服务器程序代码设计 Private Sub Command2_Click() '只要txtSend文本框的内容写好以后就由WinsockServer控件发送 WinsockServer.SendData TxtSend.Text End Sub Private Sub WinsockServer_ConnectionRequest(ByVal requestID As Long) '当收到连接请求时,Winsock处于侦听状态 '此时应该使用Close方法关闭Winsock,然后使用Accept方法接 受连接请求 WinsockServer.Close WinsockServer.Accept requestID End Sub

8.1.3服务器程序代码设计 Private Sub WinsockServer_DataArrival (ByVal BytesTotal As Long) '当客户端有信息发送来时,利用WinsockServer控件 的GatData方法读取数据 '并将其显示在txtRece i ve.文本框中 Dim MyStr As String WinsockServer.GetData MyStr TxtReceive.Text MyStr End Sub
10 8.1.3 服务器程序代码设计 Private Sub WinsockServer_DataArrival(ByVal BytesTotal As Long) '当客户端有信息发送来时,利用WinsockServer控件 的GatData方法读取数据 '并将其显示在txtReceive文本框中 Dim MyStr As String WinsockServer.GetData MyStr TxtReceive.Text = MyStr End Sub