Winsock控件使用手册

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

Winsock控件使用手册

TCP基本知识

TCP(Transfer Control Protocol)允许你创建并维护一个与远程计算机的连接,使用该连接,两台计算机之间就可以交换数据了。

如果你在创建一个客户应用程序,你必须知道服务器计算机的名字

用RemoteHost属性,监听的端口号RemotePort属性,调用Connect方法。

创建服务器应用程序,设置要监听的端口号,调用Listen方法。

当客户建立连接请求时,产生ConnectionRequest事件。要完成该连接,在ConnectionRequest 事件中调用Accept方法。

一旦建立了连接,两台计算机之间就可以发送和接受数据了。

发送数据,调用SendData方法。

接受数据,产生DataArrival事件。在DataArrival事件中调用GetData方法来检取数据。

UDP基本知识

UDP(User Datagram Protocol)是无连接的协议。

与TCP操作不同,计算机并不建立一个连接。并且,UDP应用程序可以是客户也可以是服务器。

传输数据,设置客户计算机的LocalPort属性,指发送方只需要将RemoteHost属性设置为客户计算机及指接收方的IP地址,将RemotePort属性设置为客户计算机上的LocalPort,调用SendData发送数据。客户计算机在DataArrival中使用GetData检取数据。

Winsock控件的属性

BytesReceived属性,

LocalHostName属性,

LocalIP属性,

LocalPort属性,

RemoteHost属性(ActiveX控件),

SocketHandle属性,

State属性(Winsock控件),

Protocol属性(Winsock控件),

Name属性,

Parent属性,

RemoteHost属性(ActiveX控件),

RemotePort属性(ActiveX控件),

Index属性(ActiveX控件),

Tag属性(ActiveX控件),

Object属性(ActiveX控件)。

Winsock控件的方法

Accept方法,

Bind方法,

Close方法(Winsock控件),

Listen方法,PeerData方法,

SendData方法,

GetData方法(WinSock控件),

GetData方法(ActiveX控件)。

Winsock控件的事件

Close事件,

ConnectionRequest事件,

DataArrival事件,

SendComplete事件,

SendProgress事件T注:该事件表示开始发送了,发送中,好像一般用不到,所以没有说明Error事件,

Connect事件(Winsock控件),

Connect事件。

以下的内容以字母为序排列

Accept方法:只对于TCP服务器应用程序适用。该方法用于在处理ConnectionRequest事件时接受连入请求。

语法object.Accept requested

object是Winsock控件的对象表达式。数据类型Long 返回值Void

说明:

在ConnectionRequest事件中使用Accept方法。

ConnectionRequest事件相应的参数RequestID也应传递给Accept方法。下面是一个例子:

Private Sub Winsock1_ConnectionRequest _(ByVal requestID As Long)

' Close the connection if it is currently open

' by testing the State property.

If Winsock1.State <> sckClosed Then

Winsock1.Close

' Pass the value of the requestID parameter to the' Accept method.

Winsock1.Accept requested

End Sub

下面示例的例子列出了使用TCP连接Winsock控件必须的代码,使用RequestID标识请求,该参数传递给接受请求的Accept方法。

Private Sub WinsockTCP_ConnectionRequest _(requestID As Long)

If Winsock1.State <> sckClosed Then

Winsock1.Close

Winsock.Accept requested

endif

End Sub

Bind方法

指定TCP连接中使用的LocalPort和LocalIP。

语法

object.Bind LocalPort, LocalIP

Bind方法的语法有如下几个部分:

部分描述

object 一个Winsock控件的对象表达式

localPort 建立连接所使用的端口号

localIP 建立连接所使用的本地IP地址

说明

在调用Listen方法之前你必须调用Bind方法T注:未必:)在UDP通讯的服务器端,倒是要先调用BIND方法!

BytesReceived属性

返回接受数据的数量(当前接受缓冲区中的数据)。使用GetData方法检取数据。

语法object.BytesReceived

返回值Long

Close事件

当远程计算机关闭连接,只有TCP是"连接"的,UDP是无"连接"的,应用程序应使用Close方法正确地关闭一个TCP连接。

语法object_Close()

Close方法

关闭客户或服务器应用程序的TCP连接或监听插槽。

语法object.Close

Connect 事件当一个Connect 操作完成时发生。

语法object.Connect()

使用Connect 事件确认已经成功建立了

Connect方法

返回与远程计算机的连接

语法object.Connect remoteHost, remotePort

Connect方法的语法有如下几个部分:

部分描述

object 一个Winsock控件的对象表达式

remoteHos 要连接的远程计算机的名字

remotePort 要连接的远程计算机的端口号

返回值没有

当试图建立一个TCP连接时,你必须调用Connect方法。

ConnectionRequest事件

当远程计算机请求一个连接时产生该事件。只对于TCP服务器应用程序适用。

当有一个连入请求时就触发该事件。

该事件触发之后,RemoteHostIP和RemotePort属性中保存了客户机的信息。

相关文档
最新文档