VB网络控件

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
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
sckConnecting Sckconnected sckClosing sckErros
3 4 5
6 7 8 9
连接状态 解析主机 以解析的主机
正在连接 已经连接 客户端正在关闭连接 错误
18
P215 习题 二、填ຫໍສະໝຸດ Baidu题
3. 如果希望得到本地计算机的IP地址,可 以使用Winsock控件的 属性。 答案:LocalIP 4. Winsock控件的BytesReceived属性返回 接收到的数据,通常使用 方法 来获取这些数据。。 答案:GetData 3. 如果Winsock1.LocaPort=0,那么应用程 序将 。 答案:使用随机端口
2. ConnectionRequest 事 件 : 当 客 户 机 使 用 Connect 方法请求连接时触发该事件,它通常 与Accept方法一起使用,用来接受客户机的连 接请求。
23
P214 习题 一、单项选择题
1. 一旦数据到达,将首先触发Winsock控 件的( )。 A. DataArrival事件 B. ConnectionRequest事件 C. DataSand事件 D. DataGet事件 答案:B
6
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)。
2
在网络编程中最常用的方案是客户 机/服务器模式(Client/Server,简称 C/S)。这种模式包含客户机和服务器 两类应用程序。其中客户应用程序向服 务器请求服务,而服务程序通常在一个 众所周知的地址侦听对服务的请求,也 就是说,服务进程一直处于休眠状态, 直到一个客户提出了连接请求。此时, 服务持续将被唤醒,并对客户的请求作 出适当的反应。
第8 章
网络应用程序设计方法
1
8.1 网络聊天程序任务
8.1.1 任务描述
VB提供了一系列的网络编程控件,利用它 们,网络编程将成为一件快乐而简单的工作。 VB网络控件主要有三种: (1)Winsok控件 主要用于编制基于 TCP/IP或UDP协议的网络应用程序。 (2)Internet Transfer控件 主要以来传输 文件,执行FTP命令以及登录服务器等。 (3)WebBrowser 用于创建浏览器 本节先介绍Winsok控件。
Private Sub Command1_Click() '点击“退出”按钮后关闭应用程序 Unload Me End Sub
12
8.1.4. 客户机的程序代码设计
Private Sub Command2_Click() '根据 txtServerIP文本框中输入的服务器 IP,连接聊 天服务器 WinsockClient.RemoteHost = txtServerIP.Text WinsockClient.Connect End Sub Private Sub Command3_Click() ' 输入 txtSend 文本框的内容后由 WinsockServer 控件 发送 WinsockClient.SendData txtSend.Text End Sub
21
P215 习题 二、填空题
5. Winsock1.Listen语句的含义是 。 答案:LocalIP 使服务器处于侦听状态,等待客户访问。
22
8.2.3 Winsock控件的主要事件
Winsock控件的事件主要有两个:
1.DataArrival 事件:一旦数据到达,就会触发 该事件。它通常与 GetData 方法一起使用,通 过GetData方法获得新到达的数据。
20
8.2.2 Winsock控件的主要方法
Winsock控件的方法主要有六个: 4. SendData方法 语法: Winsock对象.SendData 数据 作用:用于发送数据 5. GetData方法 语法: Winsock对象. GetData 变量[数据类型[, 最大长度] 作用:用来获得接收到的数据 6. Clcse方法 语法: Winsock对象.Close 作用:关闭当前连接
9
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
7
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
4
P215 习题 一、填空题
1. Winsock控件主要用来编制TCP/IP或 议的通话程序。 答案:UDP 协
2. 在网络编程中最常用的方案是 。 答案:客户机/服务器程序(Client/Server)
5
P215 习题 三、问答题 2.简述网络聊天程序的运行过程。 答:网络聊天程序的运行过程是: 第一步:建立连接 主要过程是:由客户端程序向服务端程序发 出连接请求,服务端程序收到并接受连接请求, 至此客户机与服务器创建了数据交流通道。 第二步:开始聊天 主要过程是:在客户机的“发送的信息”文 本框中输入文字时,服务器端的“收到的信息” 文本框中就会实时地显示相同的文字,反之亦然。
13
8.1.4. 客户机的程序代码设计
Private Sub WinsockClient_Connect() '如果与服务器连接成功,则向用户提供下列信息 MsgBox " 你 成 功 地 与 聊 天 服 务 器 进 行 了 连 接 ", vbInformation End Sub Private Sub WinsockClient_DataArrival(ByVal BytesTotal As Long) ' 当 服 务 器 有 信 息 发 送 来 时 , 利 用 WinsockClient 控 件 的 GatData方法读取数据 '并将其显示在txtReceive文本框中 Dim MyStr As String WinsockClient.GetData MyStr txtReceive.Text = MyStr End Sub 14
演示聊天程序
15
8.2 Winsock控件及网络应用程序设计基础
Winsock 控件是建立在 TCP 协议的基础上, 能够完成远程计算机间的通信,用途非常广 泛。即使我们对TCP/IP,TCP这些知识不太 熟悉,只要理解了网络应用程序设计的一般 原理,并对 Winsock 的主要属性、方法和事 件有所了解,也可以在很短时间内创建一个 简单的网络通信程序。
11
8.1.4. 客户机的程序代码设计 Private Sub Form_Load()
'设置聊天服务器的侦听端口 WinsockClient.RemotePort = 10001 '读取本机的IP地址 txtClientIP.Text = WinsockClient.LocalIP End Sub
16
8.2.1 Winsock控件的主要属性
Winsock控件主要有八个属性: 1. BytesReceived属性:返回接收到的数据。通常用GetData方 法来获取这些数据。 2. LocalHostName属性:返回本地计算机的名称。 3. LocalIP属性:返回本地计算机的IP地址。 4. LocalPost属性:返回或者设置所用的端口,如果设置为0, 则使用随机端口。 5. Protocol 属性:返回或设置 Winsock 所用的协议( TCP 或 UDP)。 6. RemoteHostName属性,返回或设置远程计算机的名称。 7. RemoteHostIP属性,返回远程计算机的IP地址。
3
聊天服务程序:由客户端和服务端两个程 序组成,采用Winsok控件开发。这两个程序可以 在同一台计算机上运行,也可以在网络上不同的 计算机上运行。整个系统的运行机制是: 第一步:建立连接 主要过程是:由客户端程序向服务端程序发 出连接请求,服务端程序收到并接受连接请求, 至此客户机与服务器创建了数据交流通道。 第二步:开始聊天 主要过程是:在客户机的“发送的信息”文 本框中输入文字时,服务器端的“收到的信息” 文本框中就会实时地显示相同的文字,反之亦然。
19
8.2.2 Winsock控件的主要方法
Winsock控件的方法主要有六个: 1. Listen方法 语法: Winsock对象.Listen 作用:使服务器处于侦听状态,等待客户访问。 2. Connect方法 语法: Winsock 对象 .Connect[ 远程主机 IP ,远 程端口] 作用:用于向远程主机发出连接请求。 3. Accept方法 语法: Winsock对象.Accept RequestID 作用:用于接受一个连接请求,其中 RequestID 是客户机发来的请求信号
8. State属性:返回Winsock控件的当前状态。
17
Winsock控件的State属性
符号常数 sckClosed 值 0 含义 关闭状态,缺省值
sckOpen
sckListening
1
2
打开状态
侦听状态
sckConnectionPending sckResolvingHost sckHostResolved
24
P214 习题 一、单项选择题
2. 要发送数据,通常使用Winsock控件的 ( )。 A. SendData方法 B. Listen方法 C. Accept方法 D. GetData方法 答案:A
10
8.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)。
相关文档
最新文档