VB网络程序设计.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《VB网络程序设计.ppt》由会员分享,可在线阅读,更多相关《VB网络程序设计.ppt(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2 1 网络聊天程序任务网络聊天程序任务 1.1 任务描述任务描述VB提供了一系列的网络编程控件,利用它们,网提供了一系列的网络编程控件,利用它们,网络编程将成为一件快乐而简单的工作。络编程将成为一件快乐而简单的工作。VB网络控件主要有三种:网络控件主要有三种:(1)Winsok控件控件 主要用于编制基于主要用于编制基于TCP/IP或或UDP协议的网络应用程序。协议的网络应用程序。(2)Internet Transfer控件控件 主要以来传输文件,主要以来传输文件,执行执行FTP命令以及登录服务器等。命令以及登录服务器等。(3)WebBrowser 用于创建浏览器用于创建浏览器 本节先介绍本节
2、先介绍Winsok控件。控件。 3 在网络编程中最常用的方案是客户机在网络编程中最常用的方案是客户机/ /服务器服务器模式(模式(Client/ServerClient/Server,简称,简称C/SC/S)。这种模式包)。这种模式包含客户机和服务器两类应用程序。其中客户应用含客户机和服务器两类应用程序。其中客户应用程序向服务器请求服务,而服务程序通常在一个程序向服务器请求服务,而服务程序通常在一个众所周知的地址侦听对服务的请求,也就是说,众所周知的地址侦听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户提出服务进程一直处于休眠状态,直到一个客户提出了连接请求。此时,服务持续将被
3、唤醒,并对客了连接请求。此时,服务持续将被唤醒,并对客户的请求作出适当的反应。户的请求作出适当的反应。4 聊天服务程序聊天服务程序:由客户端和服务端两个程序:由客户端和服务端两个程序组成,采用组成,采用WinsokWinsok控件开发。这两个程序可以在控件开发。这两个程序可以在同一台计算机上运行,也可以在网络上不同的计同一台计算机上运行,也可以在网络上不同的计算机上运行。整个系统的运行机制是:算机上运行。整个系统的运行机制是: 第一步:建立连接第一步:建立连接 主要过程是:由客户端程序向服务端程序发主要过程是:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,出连接请求,服务
4、端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。至此客户机与服务器创建了数据交流通道。 第二步:开始聊天第二步:开始聊天 主要过程是:在客户机的主要过程是:在客户机的“发送的信息发送的信息”文文本框中输入文字时,服务器端的本框中输入文字时,服务器端的“收到的信息收到的信息”文本框中就会实时地显示相同的文字,反之亦然。文本框中就会实时地显示相同的文字,反之亦然。51. Winsock控件主要用来编制控件主要用来编制TCP/IP或或 协议的通话协议的通话程序。程序。答案:答案:UDP2. 在网络编程中最常用的方案是在网络编程中最常用的方案是 。答案:客户机答案:客户机/服务器程序(
5、服务器程序(Client/Server)6P215 P215 习题习题 三、问答题三、问答题2.2.简述网络聊天程序的运行过程。简述网络聊天程序的运行过程。答:网络聊天程序的运行过程是:答:网络聊天程序的运行过程是: 第一步:建立连接第一步:建立连接 主要过程是:由客户端程序向服务端程序发主要过程是:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,出连接请求,服务端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。至此客户机与服务器创建了数据交流通道。 第二步:开始聊天第二步:开始聊天 主要过程是:在客户机的主要过程是:在客户机的“发送的信息发送的信息”文文本框
6、中输入文字时,服务器端的本框中输入文字时,服务器端的“收到的信息收到的信息”文本框中就会实时地显示相同的文字,反之亦然。文本框中就会实时地显示相同的文字,反之亦然。7 1.2. 1.2. 服务器的界面设计服务器的界面设计1.1.创建一个创建一个“标准标准 EXEEXE”工程,选中工程,选中“工程工程”菜单菜单的的“部件部件”,在控件中找到,在控件中找到Microsoft Winsock Microsoft Winsock ControlControl并将其选中。并将其选中。2.2.将将Form1Form1的名称改为的名称改为frmSvrfrmSvr,并在其中添加两个,并在其中添加两个命令按钮(
7、命令按钮(Command1Command1的的CaptionCaption属性为属性为“退出退出”,Command2Command2的的CaptionCaption属性为属性为“发送发送”)。)。3.3.在窗体是添加三个在窗体是添加三个TextBoxTextBox控件,其名称分别为控件,其名称分别为txtServerIPtxtServerIP,txtSendtxtSend和和txtReceivetxtReceive。4.4.在窗体上添加一个在窗体上添加一个WinsockWinsock控件,将其控件,将其ProtocolProtocol(协议)属性设置为(协议)属性设置为0 0(即(即sckTC
8、PProtocolsckTCPProtocol)。)。8 1.3 1.3 服务器程序代码设计服务器程序代码设计Private Sub Form_Load()Private Sub Form_Load() 设置侦听端口设置侦听端口 WinsockServer.LocalPort = 10001WinsockServer.LocalPort = 10001 读取服务器的读取服务器的IPIP地址地址 TxtServerIP.Text = WinsockServer.LocalIPTxtServerIP.Text = WinsockServer.LocalIP 开始侦听开始侦听 WinsockServ
9、er.ListenWinsockServer.ListenEnd SubEnd SubPrivate Sub Command1_Click()Private Sub Command1_Click() 点击点击“退出退出”按钮后关闭应用程序按钮后关闭应用程序 Unload MeUnload MeEnd SubEnd Sub9 1.3 1.3 服务器程序代码设计服务器程序代码设计Private Sub Command2_Click()Private Sub Command2_Click() 只要只要txtSendtxtSend文本框的内容写好以后就由文本框的内容写好以后就由WinsockServe
10、rWinsockServer控件发送控件发送 WinsockServer.SendData TxtSend.TextWinsockServer.SendData TxtSend.TextEnd SubEnd SubPrivate Sub WinsockServer_ConnectionRequest(ByVal requestID Private Sub WinsockServer_ConnectionRequest(ByVal requestID As Long)As Long) 当收到连接请求时,当收到连接请求时,WinsockWinsock处于侦听状态处于侦听状态 此时应该使用此时应该使
11、用CloseClose方法关闭方法关闭WinsockWinsock,然后使用,然后使用AcceptAccept方法接方法接受连接请求受连接请求 WinsockServer.CloseWinsockServer.Close WinsockServer.Accept requestID WinsockServer.Accept requestIDEnd Sub End Sub 10 1.3 1.3 服务器程序代码设计服务器程序代码设计Private Sub WinsockServer_DataArrival(ByVal Private Sub WinsockServer_DataArrival(B
12、yVal BytesTotal As Long)BytesTotal As Long) 当客户端有信息发送来时,利用当客户端有信息发送来时,利用WinsockServerWinsockServer控件控件的的GatDataGatData方法读取数据方法读取数据 并将其显示在并将其显示在txtReceivetxtReceive文本框中文本框中 Dim MyStr As StringDim MyStr As String WinsockServer.GetData MyStr WinsockServer.GetData MyStr TxtReceive.Text = MyStr TxtReceiv
13、e.Text = MyStrEnd SubEnd Sub11 1.4 1.4 客户机程序界面设计客户机程序界面设计1.1.创建一个新的创建一个新的“标准标准 EXEEXE”工程,并添加工程,并添加Winsock Winsock 控件。控件。2.2.将将Form1Form1的名称改为的名称改为frmCltfrmClt,并在其中添加两个,并在其中添加两个命令按钮(命令按钮(Command1Command1的的CaptionCaption属性为属性为“退出退出”, Command2Command2的的CaptionCaption属性为属性为“连接服务器连接服务器” ,Command3Command3
14、的的CaptionCaption属性为属性为“发送发送”)。)。3.3.在窗体是添加四个在窗体是添加四个TextBoxTextBox控件,其名称分别为控件,其名称分别为txtClientIPtxtClientIP,txtServerIPtxtServerIP,txtSendtxtSend和和txtReceivetxtReceive。4.4.在窗体上添加一个在窗体上添加一个WinsockWinsock控件,将其控件,将其ProtocolProtocol(协议)属性设置为(协议)属性设置为0 0(即(即sckTCPProtocolsckTCPProtocol)。)。12 1.4. 客户机的程序代码
15、设计客户机的程序代码设计Private Sub Form_Load() 设置聊天服务器的侦听端口设置聊天服务器的侦听端口 WinsockClient.RemotePort = 10001 读取本机的读取本机的IP地址地址 txtClientIP.Text = WinsockClient.LocalIPEnd SubPrivate Sub Command1_Click() 点击点击“退出退出”按钮后关闭应用程序按钮后关闭应用程序 Unload MeEnd Sub13 1.4. 客户机的程序代码设计客户机的程序代码设计Private Sub Command2_Click() 根据根据txtServ
16、erIP文本框中输入的服务器文本框中输入的服务器IP,连接聊,连接聊天服务器天服务器 WinsockClient.RemoteHost = txtServerIP.Text WinsockClient.ConnectEnd SubPrivate Sub Command3_Click() 输入输入txtSend文本框的内容后由文本框的内容后由WinsockServer控控件发送件发送 WinsockClient.SendData txtSend.TextEnd Sub14 1.4. 客户机的程序代码设计客户机的程序代码设计Private Sub WinsockClient_Connect() 如
17、果与服务器连接成功,则向用户提供下列信息如果与服务器连接成功,则向用户提供下列信息 M s g B o x 你 成 功 地 与 聊 天 服 务 器 进 行 了 连 接你 成 功 地 与 聊 天 服 务 器 进 行 了 连 接 , vbInformationEnd SubPrivate Sub WinsockClient_DataArrival(ByVal BytesTotal As Long) 当服务器有信息发送来时,利用当服务器有信息发送来时,利用WinsockClient控件的控件的GatData方法读取数据方法读取数据 并将其显示在并将其显示在txtReceive文本框中文本框中 Dim
18、 MyStr As String WinsockClient.GetData MyStr txtReceive.Text = MyStrEnd Sub15演示聊天程序演示聊天程序16 2 Winsock控件及网络应用程序设计基础控件及网络应用程序设计基础 Winsock控件是建立在控件是建立在TCP协议的基础上,能够完成协议的基础上,能够完成远程计算机间的通信,用途非常广泛。即使我们对远程计算机间的通信,用途非常广泛。即使我们对TCP/IP,TCP这些知识不太熟悉,只要理解了网络应这些知识不太熟悉,只要理解了网络应用程序设计的一般原理,并对用程序设计的一般原理,并对Winsock的主要属性、方
19、的主要属性、方法和事件有所了解,也可以在很短时间内创建一个简单法和事件有所了解,也可以在很短时间内创建一个简单的网络通信程序。的网络通信程序。17 2.1 Winsock控件的主要属性控件的主要属性Winsock控件主要有八个属性:控件主要有八个属性:1. BytesReceived属性:返回接收到的数据。通常用属性:返回接收到的数据。通常用GetData方法来获取这些数据。方法来获取这些数据。2. LocalHostName属性:返回本地计算机的名称。属性:返回本地计算机的名称。3. LocalIP属性:返回本地计算机的属性:返回本地计算机的IP地址。地址。4. LocalPost属性:返回
20、或者设置所用的端口,如果设置为属性:返回或者设置所用的端口,如果设置为0,则使用随机端口。则使用随机端口。5. Protocol属性:返回或设置属性:返回或设置Winsock所用的协议(所用的协议(TCP或或UDP)。)。6. RemoteHostName属性,返回或设置远程计算机的名称。属性,返回或设置远程计算机的名称。7. RemoteHostIP属性,返回远程计算机的属性,返回远程计算机的IP地址。地址。 State属性:返回属性:返回Winsock控件的当前状态。控件的当前状态。18符号常数符号常数值值含义含义sckClosed0关闭状态,缺省值关闭状态,缺省值sckOpen1打开状态
21、打开状态sckListening2侦听状态侦听状态sckConnectionPending3连接状态连接状态sckResolvingHost4解析主机解析主机sckHostResolved5以解析的主机以解析的主机sckConnecting6正在连接正在连接Sckconnected7已经连接已经连接sckClosing8客户端正在关闭连接客户端正在关闭连接sckErros9错误错误Winsock控件的控件的State属性属性193. 如果希望得到本地计算机的如果希望得到本地计算机的IP地址,可以使用地址,可以使用Winsock控件的控件的 属性。属性。答案:答案:LocalIP4. Winso
22、ck控件的控件的BytesReceived属性返回接收到的属性返回接收到的数据,通常使用数据,通常使用 方法来获取这些数据。方法来获取这些数据。答案:答案:GetData3. 如果如果Winsock1.LocaPort=0,那么应用程序那么应用程序将将 。答案:使用随机端口答案:使用随机端口20 2.2 Winsock 2.2 Winsock控件的主要方法控件的主要方法WinsockWinsock控件的方法主要有六个:控件的方法主要有六个:1. Listen1. Listen方法方法语法:语法: WinsockWinsock对象对象.Listen.Listen作用:使服务器处于侦听状态,等待客
23、户访问。作用:使服务器处于侦听状态,等待客户访问。2. Connect2. Connect方法方法语法:语法: WinsockWinsock对象对象.Connect.Connect远程主机远程主机IPIP,远,远程端口程端口 作用:用于向远程主机发出连接请求。作用:用于向远程主机发出连接请求。3. Accept3. Accept方法方法语法:语法: WinsockWinsock对象对象.Accept RequestID.Accept RequestID作用:用于接受一个连接请求,其中作用:用于接受一个连接请求,其中RequestIDRequestID是客户机发来的请求信号是客户机发来的请求信号
24、21 2.2 Winsock 2.2 Winsock控件的主要方法控件的主要方法WinsockWinsock控件的方法主要有六个:控件的方法主要有六个:4. SendData4. SendData方法方法语法:语法: WinsockWinsock对象对象.SendData .SendData 数据数据作用:用于发送数据作用:用于发送数据5. GetData5. GetData方法方法语法:语法: WinsockWinsock对象对象. GetData . GetData 变量变量 数据类型数据类型 ,最大长度最大长度 作用:用来获得接收到的数据作用:用来获得接收到的数据6. Clcse6. C
25、lcse方法方法语法:语法: WinsockWinsock对象对象.Close.Close作用:关闭当前连接作用:关闭当前连接225. Winsock1.Listen语句的含义是语句的含义是 。答案:答案:LocalIP使服务器处于侦听状态,等待客户访问。使服务器处于侦听状态,等待客户访问。23 2.3 Winsock 2.3 Winsock控件的主要事件控件的主要事件WinsockWinsock控件的事件主要有两个:控件的事件主要有两个:1.DataArrival1.DataArrival事件:一旦数据到达,就会触发事件:一旦数据到达,就会触发该事件。它通常与该事件。它通常与GetDataG
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 网络程序设计
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内