VB Winsock 控件属性、方法、事件详解,VB Winsock 控件属性、方法、事件,VB Winsock 控件属性详解,VB Winsock 控件方法详解,VB Winsock 控件事件详解,VB Winsock 控件属性,VB Winsock 控件方法,VB Winsock 控件事件,VB Winsock 控件详解,VB Winsock 属性详解,VB Winsock 方法详解,VB Winsock 事件详解,VB Winsock 控件,VB Winsock 事件,VB Winsock 详解,VB Winsock 属性,VB Winsock 方法,VB Winsock,Winsock 控件属性,MicroSoft Visual Basic 6.0,Winsock 控件方法和事件,Windows Sockets 是 Windows 下得到广泛应用的、开放的、支持多种协议的网络编程接口,Windows 下网络编程的规范,Windows Sockets,Winsock,TCP 协议,Connect 方法,Listen 方法,ConnectionRequest 事件,Accept 方法,SendData 方法,DataArrival 事件,GetData 方法获取数据,UDP 协议,无连接协议,Internet 地址,SendData 方法,DataArrival 事件,Tag 标记,一般不用,Name Winsock 控件的名称,Index上下文,一般不用,State当前的网络连接状态(详见:Winsock State 状态常数属性值),Parent 上级,LocalIP 本地机器IP地址,LocalPort本地机器通信程序的端口(0<端口<65536),LocalHostName本地机器名,RemoteHost 远程机器名,RemotePort 远程机器的通信程序端口,Protocal Winsock 控件使用的协议(TCP 或 UDP,详见:Protocol 属性值),SocketHandle Socket 句柄,BytesReceived接受数据的字节数,Winsock(对象).listen,Winsock(对象).connect [远程主机IP,远程端口],Winsock(对象).accept Request ID,Winsock(对象).senddata 数据,Winsock(对象).getdata 变量 [,数据类型 [,最大长度]],Winsock(对象).close,Close远程机器关闭连接时触发,Connect 连接建立好,可以进行通信时触发(客户端),ConnectRequest 有请求连接到达时产生(服务器端),DataArrival 有数据到达时触发,Error发生错误时发生,SendProgress 数据传送进度,sckTCPProtocol,sckUDPProtocol,sckClosed 0关闭状态,sckOpen 1打开状态,sckListening 2侦听状态,sckConnectionPending 3连接挂起,sckResolvingHost 4解析域名,sckHostResolved 5已识别主机,sckConnecting 6正在连接,sckConnected 7已连接,sckClosing8同级人员正在关闭连接,sckError 9错误。

VB Winsock 控件属性、方法、事件详解:

    下面是 Winsock 控件的相关属性(MicroSoft Visual Basic 6.0),方法和事件。(略去一些暂用不到的)

控件说明:
    Windows Sockets 是 Windows 下得到广泛应用的、开放的、支持多种协议的网络编程接口。Windows 下网络编程的规范。

控件简介:
    从 1991 年的 1.0 版到 1995 年的 2.0.8 版,经过不断完善并在 Intel、Microsoft、Sun、SGI、Informix、Novell 等公司的全力支持下,已成为 Windows 网络编程的事实上的标准。

  Winsock 控件通常被编程软件用于访问网络。在新版本的 .NET Visual Studio 中已被其他命令代替而不再需要,老版本 VB 6.0 这一代的程序设计软件需要此控件。

  本控件对用户不可视,可以很容易的访问TCP和UDP网络服务,被老版本 Microsoft Access, Visual Basic, Visual C++ 或 Visual FoxPro 开发人员使用。要编写客户和服务器应用程序,不需要了解 TCP 或调用底层 Winsock API 的具体细节。通过设置 Winsock 控件的属性和调用该控件的方法,可以很容易地连接到远程计算机并进行双向的数据交换。


    下边介绍,Windows Sockets (Winsock)控件通讯使用的两种协议(TCP 协议和 UDP 协议)。

TCP 协议:
    数据传输协议允许创建和维护与远程计算机的连接。连接两台计算机就可彼此进行数据传输。

  如果创建客户应用程序,就必须知道服务器计算机名或者 IP 地址(RemoteHost 属性),还要知道进行“侦听”的端口(RemotePort 属性),然后调用 Connect 方法。

  如果创建服务器应用程序,就应设置一个收听端口(LocalPort 属性)并调用 Listen 方法。当客户计算机需要连接时就会发生 ConnectionRequest 事件。为了完成连接,可调用 ConnectionRequest 事件内的 Accept 方法。

  建立连接后,任何一方计算机都可以收发数据。为了发送数据,可调用 SendData 方法。当接收数据时会发生 DataArrival 事件。调用 DataArrival 事件内的 GetData 方法就可获取数据。

UDP 协议:
  用户数据文报协议 (UDP) 是一个无连接协议。跟 TCP 的操作不同,计算机并不建立连接。另外 UDP 应用程序可以是客户机,也可以是服务器。

  为了传输数据,首先要设置客户计算机的 LocalPort 属性。然后,服务器计算机只需将 RemoteHost 设置为客户计算机的 Internet 地址,并将 RemotePort 属性设置为跟客户计算机的 LocalPort 属性相同的端口,并调用 SendData 方法来着手发送信息。于是,客户计算机使用 DataArrival 事件内的 GetData 方法来获取已发送的信息。

控件属性:
    Tag              标记,一般不用
    Name             Winsock 控件的名称
    Index            上下文,一般不用
    State            当前的网络连接状态(详见:Winsock State 状态常数属性值)
    Parent           上级
    LocalIP          本地机器IP地址
    LocalPort        本地机器通信程序的端口(0<端口<65536)
    LocalHostName    本地机器名
    RemoteHost       远程机器名
    RemotePort       远程机器的通信程序端口
    Protocal         Winsock 控件使用的协议(TCP 或 UDP,详见:Protocol 属性值)
    SocketHandle     Socket 句柄
    BytesReceived    接受数据的字节数

控件方法:
    Listen    Listen方法用于服务器程序,等待客户访问。
              格式:Winsock(对象).listen
    Connect   Connect方法用于向远程主机发出连接请求
              格式:Winsock(对象).connect [远程主机IP,远程端口]
    Accept    Accept方法用于接受一个连接请求
              格式:Winsock(对象).accept Request ID
    Senddata  Senddata方法用于发送数据
              格式:Winsock(对象).senddata 数据
    Getdata   Getdata方法用来取得接收到的数据
              格式:Winsock(对象).getdata 变量 [,数据类型 [,最大长度]]
    Close     Close方法用来关闭当前连接
              格式:Winsock(对象).close

控件事件:
    Close            远程机器关闭连接时触发
    Connect          连接建立好,可以进行通信时触发(客户端)
    ConnectRequest   有请求连接到达时产生(服务器端)
    DataArrival      有数据到达时触发
    Error            发生错误时发生
    SendProgress     数据传送进度

Winsock Protocol 属性设置值:
    返回或设置Winsock控件所使用的协议(TCP、UDP)。

    常数             值   描述
    sckTCPProtocol   0    缺省的。TCP 协议。
    sckUDPProtocol   1    UDP 协议。

    返回值:Void (空)
    说明:在重新设置属性之前必须用 Close 方法关闭控件。

Winsock State 状态常数属性值:
    常数                  值   描述
    sckClosed             0    关闭状态
    sckOpen               1    打开状态
    sckListening          2    侦听状态
    sckConnectionPending  3    连接挂起
    sckResolvingHost      4    解析域名
    sckHostResolved       5    已识别主机
    sckConnecting         6    正在连接
    sckConnected          7    已连接
    sckClosing            8    同级人员正在关闭连接
    sckError              9    错误

使用示例:
    TCP 监听方式:
        Winsock1.Protocol = sckTCPProtocol '使用TCP模式/协议(TCP是默认方式,此句可省略)
        Winsock1.LocalPort = 9999          '绑定/监听本机 9999 端口
        Winsock1.Listen

    UDP 监听方式:
        Winsock1.Protocol = sckUDPProtocol '使用UDP模式/协议
        Winsock1.Bind 27015                '绑定/监听本机 27015 端口