vb教程8

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1网络应用程序设计方法第8章28.1网络聊天程序任务8.1.1任务描述VB提供了一系列的网络编程控件,利用它们,网络编程将成为一件快乐而简单的工作。VB网络控件主要有三种:(1)Winsok控件主要用于编制基于TCP/IP或UDP协议的网络应用程序。(2)InternetTransfer控件主要以来传输文件,执行FTP命令以及登录服务器等。(3)WebBrowser用于创建浏览器本节先介绍Winsok控件。3在网络编程中最常用的方案是客户机/服务器模式(Client/Server,简称C/S)。这种模式包含客户机和服务器两类应用程序。其中客户应用程序向服务器请求服务,而服务程序通常在一个众所周知的地址侦听对服务的请求,也就是说,服务进程一直处于休眠状态,直到一个客户提出了连接请求。此时,服务持续将被唤醒,并对客户的请求作出适当的反应。4聊天服务程序:由客户端和服务端两个程序组成,采用Winsok控件开发。这两个程序可以在同一台计算机上运行,也可以在网络上不同的计算机上运行。整个系统的运行机制是:第一步:建立连接主要过程是:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。第二步:开始聊天主要过程是:在客户机的“发送的信息”文本框中输入文字时,服务器端的“收到的信息”文本框中就会实时地显示相同的文字,反之亦然。5P215习题一、填空题1.Winsock控件主要用来编制TCP/IP或协议的通话程序。答案:UDP2.在网络编程中最常用的方案是。答案:客户机/服务器程序(Client/Server)6P215习题三、问答题2.简述网络聊天程序的运行过程。答:网络聊天程序的运行过程是:第一步:建立连接主要过程是:由客户端程序向服务端程序发出连接请求,服务端程序收到并接受连接请求,至此客户机与服务器创建了数据交流通道。第二步:开始聊天主要过程是:在客户机的“发送的信息”文本框中输入文字时,服务器端的“收到的信息”文本框中就会实时地显示相同的文字,反之亦然。78.1.2.服务器的界面设计1.创建一个“标准EXE”工程,选中“工程”菜单的“部件”,在控件中找到MicrosoftWinsockControl并将其选中。2.将Form1的名称改为frmSvr,并在其中添加两个命令按钮(Command1的Caption属性为“退出”,Command2的Caption属性为“发送”)。3.在窗体是添加三个TextBox控件,其名称分别为txtServerIP,txtSend和txtReceive。4.在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即sckTCPProtocol)。88.1.3服务器程序代码设计PrivateSubForm_Load()'设置侦听端口WinsockServer.LocalPort=10001'读取服务器的IP地址TxtServerIP.Text=WinsockServer.LocalIP'开始侦听WinsockServer.ListenEndSubPrivateSubCommand1_Click()'点击“退出”按钮后关闭应用程序UnloadMeEndSub98.1.3服务器程序代码设计PrivateSubCommand2_Click()'只要txtSend文本框的内容写好以后就由WinsockServer控件发送WinsockServer.SendDataTxtSend.TextEndSubPrivateSubWinsockServer_ConnectionRequest(ByValrequestIDAsLong)'当收到连接请求时,Winsock处于侦听状态'此时应该使用Close方法关闭Winsock,然后使用Accept方法接受连接请求WinsockServer.CloseWinsockServer.AcceptrequestIDEndSub108.1.3服务器程序代码设计PrivateSubWinsockServer_DataArrival(ByValBytesTotalAsLong)'当客户端有信息发送来时,利用WinsockServer控件的GatData方法读取数据'并将其显示在txtReceive文本框中DimMyStrAsStringWinsockServer.GetDataMyStrTxtReceive.Text=MyStrEndSub118.1.4客户机程序界面设计1.创建一个新的“标准EXE”工程,并添加Winsock控件。2.将Form1的名称改为frmClt,并在其中添加两个命令按钮(Command1的Caption属性为“退出”,Command2的Caption属性为“连接服务器”,Command3的Caption属性为“发送”)。3.在窗体是添加四个TextBox控件,其名称分别为txtClientIP,txtServerIP,txtSend和txtReceive。4.在窗体上添加一个Winsock控件,将其Protocol(协议)属性设置为0(即sckTCPProtocol)。128.1.4.客户机的程序代码设计PrivateSubForm_Load()'设置聊天服务器的侦听端口WinsockClient.RemotePort=10001'读取本机的IP地址txtClientIP.Text=WinsockClient.LocalIPEndSubPrivateSubCommand1_Click()'点击“退出”按钮后关闭应用程序UnloadMeEndSub138.1.4.客户机的程序代码设计PrivateSubCommand2_Click()'根据txtServerIP文本框中输入的服务器IP,连接聊天服务器WinsockClient.RemoteHost=txtServerIP.TextWinsockClient.ConnectEndSubPrivateSubCommand3_Click()'输入txtSend文本框的内容后由WinsockServer控件发送WinsockClient.SendDatatxtSend.TextEndSub148.1.4.客户机的程序代码设计PrivateSubWinsockClient_Connect()'如果与服务器连接成功,则向用户提供下列信息MsgBox你成功地与聊天服务器进行了连接,vbInformationEndSubPrivateSubWinsockClient_DataArrival(ByValBytesTotalAsLong)'当服务器有信息发送来时,利用WinsockClient控件的GatData方法读取数据'并将其显示在txtReceive文本框中DimMyStrAsStringWinsockClient.GetDataMyStrtxtReceive.Text=MyStrEndSub15演示聊天程序168.2Winsock控件及网络应用程序设计基础Winsock控件是建立在TCP协议的基础上,能够完成远程计算机间的通信,用途非常广泛。即使我们对TCP/IP,TCP这些知识不太熟悉,只要理解了网络应用程序设计的一般原理,并对Winsock的主要属性、方法和事件有所了解,也可以在很短时间内创建一个简单的网络通信程序。178.2.1Winsock控件的主要属性Winsock控件主要有八个属性:1.BytesReceived属性:返回接收到的数据。通常用GetData方法来获取这些数据。2.LocalHostName属性:返回本地计算机的名称。3.LocalIP属性:返回本地计算机的IP地址。4.LocalPost属性:返回或者设置所用的端口,如果设置为0,则使用随机端口。5.Protocol属性:返回或设置Winsock所用的协议(TCP或UDP)。6.RemoteHostName属性,返回或设置远程计算机的名称。7.RemoteHostIP属性,返回远程计算机的IP地址。8.State属性:返回Winsock控件的当前状态。18符号常数值含义sckClosed0关闭状态,缺省值sckOpen1打开状态sckListening2侦听状态sckConnectionPending3连接状态sckResolvingHost4解析主机sckHostResolved5以解析的主机sckConnecting6正在连接Sckconnected7已经连接sckClosing8客户端正在关闭连接sckErros9错误Winsock控件的State属性19P215习题二、填空题3.如果希望得到本地计算机的IP地址,可以使用Winsock控件的属性。答案:LocalIP4.Winsock控件的BytesReceived属性返回接收到的数据,通常使用方法来获取这些数据。。答案:GetData3.如果Winsock1.LocaPort=0,那么应用程序将。答案:使用随机端口208.2.2Winsock控件的主要方法Winsock控件的方法主要有六个:1.Listen方法语法:Winsock对象.Listen作用:使服务器处于侦听状态,等待客户访问。2.Connect方法语法:Winsock对象.Connect[远程主机IP,远程端口]作用:用于向远程主机发出连接请求。3.Accept方法语法:Winsock对象.AcceptRequestID作用:用于接受一个连接请求,其中RequestID是客户机发来的请求信号218.2.2Winsock控件的主要方法Winsock控件的方法主要有六个:4.SendData方法语法:Winsock对象.SendData数据作用:用于发送数据5.GetData方法语法:Winsock对象.GetData变量[数据类型[,最大长度]作用:用来获得接收到的数据6.Clcse方法语法:Winsock对象.Close作用:关闭当前连接22P215习题二、填空题5.Winsock1.Listen语句的含义是。答案:LocalIP使服务器处于侦听状态,等待客户访问。238.2.3Winsock控件的主要事件Winsock控件的事件主要有两个:1.DataArrival事件:一旦数据到达,就会触发该事件。它通常与GetData方法一起使用,通过GetData方法获得新到达的数据。2.ConnectionRequest事件:当客户机使用Connect方法请求连接时触发该事件,它通常与Accept方法一起使用,用来接受客户机的连接请求。24P214习题一、单项选择题1.一旦数据到达,将首先触发Winsock控件的()。A.DataArrival事件B.ConnectionRequest事件C.DataSand事件D.DataGet事件答案:B25P214习题一、单项选择题2.要发送数据,通常使用Winsock控件的()。A.SendData方法B.Listen方法C.Accept方法D.GetData方法答案:A26P214习题一、单项选择题3.当Winsock控件处于关闭状态时,其State属性的值是()。A.1B.0C.2D.6答案:B27P214习题一、单项选择题4.当Winsock控件的LocalPort属性的作用是()。A.仅返回所有端口B.仅设置所有端口C.返回或设置所有端口D.返回或设置IP地址答案:B28P214习题一、单项选择题5.当使用SendData将数据发送到主机后时,将触发的Winsock控件的是()。A.SendProgressB.MouseDownC.ClickD.KeyPress答案:A298.2.4网络应用程序设计基础1.基于Socket的通信过程Winsock控件是基于Socket接口(套接字)创建的。它是现在TCP/IP网络中最通用的API(应用程序接口),也是在Internet上进行应用程序开发最通用的API。WindowsSocket规范已成为Windows网络编程的标准。Socket在计算机中提供了

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功