TCP协议是当前Internet上传送数据的两种主要方法中的一种。TCP是一个面向连接的协议,负责保证在网络上传输的数据包都能够到达目的地。TCP连接是点到点的连接,一个TCP连接需要客户机和服务器都有一个IP地址和端口。
TCP控件中比较有用的有9个属性、7个方法、6个事件,说明如下表所示。
名称 含义
BytesReceived 接收缓冲区中的数据量
LocalHostName 本地机器名,控制面板网络中的机器名
LocalIP 本地机器的IP地址
LocalPort 本地机器用于通信的端口
RemoteHost 远程机器名
RemoteHostIP 远程机器的IP地址
RemotePort 远程机器用于通信的端口
SocketHandle 用于同WINSOCK层通信的句柄
State 连接的当前状态
所标识的端口一定不能再让其他应用程序使用。许多端口已定义为标准端口,因此应用程序不能再使用,一般1000以上的端口大多未被占用。
在进行程序设计时,服务器端必须设置的属性只有LocalProt,也就是监听的端口号。而客户端必须设置的属性是RemoteHost和RemotePort,远程主机可以填服务器端的域名(如www.ptt.js.cn),也可以填服务器的IP地址(如202.102.13.140),再把远程端口设置为服务器端监听的端口号。填好后就可以通过TCP的方法和事件进行连接了。需要在一台机器上运行一个程序的多个副本时要填写客户端的LocalProt属性,而且要识别并使每个副本用不同的端口地址。
State属性存储TCP连接的当前状态。由于State是只读的,因此不能对该连接状态置值,但却可以用各种方式使用状态值,常用的几种状态为:
sckClosed 关闭套接字
sckOpen 打开套接字
sckListening 正在监听
sckConnectionPending 连接挂起
sckConnecting 正在连接
sckConnected 已建立连接
sckClosing 关闭套接字
sckError 套接字出错
TCP控件中的方法如下表。一个连接的建立过程要进行以下几个步骤:
1)服务端用Listen监听一个端口。
2)客户端用Connect向服务端发出连接请求。
3)服务端用Accept接受连接。
4)服务端和客户端这间通过SendData、GetData、PeekData进行数据传送。
5)客户端或服务端使用Close关闭连接。
Accept 接受一个到来的连接请求
Close 关闭一个连接
Connect 向远程服务端发出连接请求
GetData 获得当前数据块
Listen 创建并监听一个套接字
PeekData 获得当前数据块的一个拷贝
SendData 把数据传送给远程机

您当前的位置:
