网络控件winsock

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第 九 章 Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
3. 添加 添加Winsock控件 控件 (1) 工程 部件 工程→部件 部件→Microsoft Winsock Control 6.0 (2) 从工具箱中选择 从工具箱中选择Winsock 4. 外观
Winsock 5. 作用 通过 作用:通过 通过Winsock控件编制 控件编制Client/Server程序, 程序, 控件编制 程序 程序员无须了解TCP协议或低级 协议或低级Winsock API函 程序员无须了解 协议或低级 函 数调用实现的细节, 数调用实现的细节,只需设置控件的属性并调 用其相应的方法就可以方便地连接到远程主机 实现与远程计算机的通信。 上,实现与远程计算机的通信。
第 九 章 Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
8. 方法 (1) Accept方法:仅适用于 方法: 服务器端应用程序。 方法 仅适用于TCP服务器端应用程序。 服务器端应用程序 当服务器端应用程序收到客户端的连接请求后, 当服务器端应用程序收到客户端的连接请求后, 需使用Accept方法接收客户端的请求。一般 方法接收客户端的请求。 需使用 方法接收客户端的请求 Accept方法在 方法在ConnectionRequest事件中被调用。 事件中被调用。 方法在 事件中被调用 使用格式为: 使用格式为: <对象名 对象名>.Accept requestID 对象名 在ConnectionRequest事件中使用 事件中使用Accept方法。 方法。 事件中使用 方法 RequestID是ConnectionRequest事件的参数。 事件的参数。 是 事件的参数 (2) Bind方法:将LocalPort和LocalIP与特定的协议 方法: 方法 和 与特定的协议 或网卡进行绑定。使用格式为: 或网卡进行绑定。使用格式为: <对象名 对象名>.Bind <本地端口号 <本地 地址 本地端口号>, 本地 地址> 本地IP地址 对象名 本地端口号 在调用Listen方法之前必须先调用 方法之前必须先调用Bind方法。 方法。 在调用 方法之前必须先调用 方法
第 九 章 Visual Basic Visual BasBasic Visual Basic Visual Basic Visual Basic Visual Basic
2. 网络应用程序简介 服务器端(Server)应用程序:主要用于接受客户 应用程序: 服务器端 应用程序 的连接请求、 端(Client)的连接请求、接收客户端的数据、处理 的连接请求 接收客户端的数据、 客户端的请求、 客户端的请求、向客户端发送计算结果和应答信 息等。可以同时接受多个客户端的连接请求。 息等。可以同时接受多个客户端的连接请求。 客户端(Client)应用程序:主要用于连接服务器、 客户端 应用程序:主要用于连接服务器、 应用程序 向服务器发送请求、 向服务器发送请求、处理服务器发回的结果和其 他信息等。 他信息等。一个客户端也可以同时连接到多个服 务器上。 务器上。 Client/Server模式一:客户问、服务器答,收发 模式一:客户问、服务器答, 模式一 是成对出现的。 是成对出现的。 Client/Server模式二:在连接时有客户和服务器 模式二: 模式二 之分,建立好通信连接后, 之分,建立好通信连接后,不再有严格的客户和 服务器之分。 服务器之分。
Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
第 九 章 Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
控件的公共属性name属性caption属性enabled属性visible属性lefttopheightwidth属性backcolorforecolor属性fontnamefontsizefontboldfontitalicfontstrikethrufontunderline属性font对象属性mousepointermouseicon属性鼠标和键盘操作鼠标操作mousemove事件键盘操作keydownkeyup事件鼠标拖放操作常用内部控件框架frame图片框picturebox图像框image选项按钮optionbutton复选框checkbox列表框listbox组合框combobox定时器timer滚动条scrollbar4
9.事件 . (1) ConnectionRequest事件 当有远程计算机请求连 事件: 事件 接时触发此事件。 接时触发此事件。 (2) DataArrival事件 当有新数据到达时触发此事件。 事件:当有新数据到达时触发此事件 事件 当有新数据到达时触发此事件。 (3) Error事件:任何操作或处理错误,都将触发此 事件: 事件 任何操作或处理错误, 事件,如连接失败、收发数据失败等。 事件,如连接失败、收发数据失败等。可以根据 返回的错误代码参数判断错误类型。 返回的错误代码参数判断错误类型。 (4) SendComplete事件:数据成功发送后触发此事 事件: 事件 件。 (5) Close事件:当远程计算机关闭连接时出现。可 事件: 事件 当远程计算机关闭连接时出现。 以在发生该事件时使用Close方法关闭连接。 方法关闭连接。 以在发生该事件时使用 方法关闭连接
第 九 章 Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
(5) Protocol属性 返回或设置所使用的通信协议 属性:返回或设置所使用的通信协议 属性 0——TCP协议; 1——表示 协议; 表示UDP协议。 协议。 协议 表示 协议 (6) RemoteHost属性:返回或设置远程计算机的名 属性: 属性 称或IP地址 以便此Winsock控件能够向它发送 地址, 称或 地址,以便此 控件能够向它发送 数据或从它那里接收数据。可以是主机名, 数据或从它那里接收数据。可以是主机名,也可 以是IP地址 地址, 以是 地址,如"10.0.1.8"。 。 (7) RemotePort属性:返回或设置要连接的远程端 RemotePort属性 属性: 口号。缺省值是80。在设置Protocol属性时,对 属性时, 口号。缺省值是 。在设置 属性时 常用协议将自动把RemotePort属性设置成其缺省 常用协议将自动把 属性设置成其缺省 的端口, 使用80端口 使用21端口 的端口,如HTTP使用 端口,FTP使用 端口 使用 端口, 使用 等。 (8) State属性:返回控件的状态。 属性:返回控件的状态。 属性
第 九 章 Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
6. 作用:编制 作用:编制Client/Server程序 程序 7. 属性 (1) BytesReceived:返回当前在接收端缓冲区内 : 接收到的数据的大小。 接收到的数据的大小。 (2) LocalHostName:返回本地机器的名称。 :返回本地机器的名称。 (3) LocalIP:返回本地机器的 地址。 地址。 :返回本地机器的IP地址 32位的点字符串 xxx.xxx.xxx.xxx 位的点字符串: 位的点字符串 (4) LocalPort属性:返回或设置应用程序使用的 属性: 属性 本地端口。 本地端口。 客户端:指定发送数据的本地端口。 客户端:指定发送数据的本地端口。如果指定 0为端口号,将选择一个随机端口。 为端口号, 为端口号 将选择一个随机端口。 服务器端:指定用于侦听的本地端口。 服务器端:指定用于侦听的本地端口。如果指 定的是端口0,就使用一个随机端口。 定的是端口 ,就使用一个随机端口。
第 九 章 Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
(3) Close方法:关闭客户端和服务器端应用程序的连接。使 方法: 方法 关闭客户端和服务器端应用程序的连接。 用格式为: 用格式为: <对象名 对象名>.Close 对象名 (4) GetData方法:获取缓冲区中的数据并将其存储在可变类 方法: 方法 型的变量中。使用格式为: 型的变量中。使用格式为: <对象名 对象名>.GetData <变量 [<类型 [<长度 变量>, 类型 类型>,] 长度 长度>] 对象名 变量 <变量 可变类型的变量,保存获取的数据 变量>:可变类型的变量 变量 可变类型的变量, <类型 表示获取的数据类型。如vbLong 类型>: 类型 表示获取的数据类型。 <长度 表示可接收到数据的最大长度 长度>: 长度 当本地计算机接收到远程计算机发送的数据后, 当本地计算机接收到远程计算机发送的数据后,数据 存放在本地缓冲区内,调用GetData方法成功获取数据后, 方法成功获取数据后, 存放在本地缓冲区内,调用 方法成功获取数据后 自动清空缓冲区,以便下次数据的接收。 自动清空缓冲区,以便下次数据的接收。 通常总是将GetData方法与 方法与DataArrival事件并用,而 事件并用, 通常总是将 方法与 事件并用 DataArrival事件包含 事件包含totalBytes参数。如果指定一个比 参数。 事件包含 参数 totalBytes参数小的 长度 ,则将得到警告且剩余的数据 参数小的<长度 参数小的 长度> 将丢失。 将丢失。
第 (5) Listen方法:创建套接字并将应用程序设置为侦听 方法: 方法 九 模式。该方法仅适用于TCP连接。使用格式为: 连接。 模式。该方法仅适用于 连接 使用格式为: 章 <对象名 对象名>.Listen 对象名 (6) PeekData方法 方法 方法相同, 与GetData方法相同,但接收数据后不清空缓冲区。 方法相同 但接收数据后不清空缓冲区。 (7) SendData方法:使用此方法发送数据。在通信双方 方法: 方法 使用此方法发送数据。 建立好连接后使用。使用格式为: 建立好连接后使用。使用格式为: <对象名 对象名>.SendData <变量 变量> 对象名 变量 <变量 :装有要发送的数据。 变量>:装有要发送的数据。 变量 (8) Connect方法:要求连接到远程计算机。当想建立 方法: 方法 要求连接到远程计算机。 TCP连接时,必须调用 连接时, 方法。 连接时 必须调用Connect方法。使用格式为: 方法 使用格式为: <对象名 对象名>.Connect <远程主机 <远程端口 远程主机>, 远程端口 远程端口> 对象名 远程主机 <远程主机 :要连接的远程计算机的名称。 远程主机>:要连接的远程计算机的名称。 远程主机 <远程端口 :要连接的远程计算机的端口。 远程端口>:要连接的远程计算机的端口。 远程端口
第 九 章 Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic Visual Basic
9.4.7 网络编程控件(Winsock) 网络编程控件( ) 1. Winsock简介 简介 Winsock是建立在 是建立在TCP(Transmission Control 是建立在 ( Protocal)或UDP(User Datagram Protocol)协 ) ( ) 议基础上的, 议基础上的,它使用这两种协议实现计算机间的 通信。 通信。 TCP协议:基于连接的协议,在开始数据通信 协议:基于连接的协议, 协议 必须先建立固定的连接; 前,必须先建立固定的连接; UDP协议:一种无连接协议,数据通信前不需 协议: 协议 一种无连接协议, 要建立连接。 要建立连接。
相关文档
最新文档