Delphi的Socke介绍
ClientSocket和ServerSocket,它们对Winsock的API进行了很好的封装生成了TClientSocket和TserverSocket两个类(控件)。通过这两个控件,可以很方便的生成TCP/IP网络应用程序。TClientSocket类是客户端的Socket类,通过它可以与服务器程序建立TCP连接,并进行数据交换。TserverSocket是服务端的Socket类,通过它,应用程序可以提供TCP网络服务,等待用户连接,并在连接后进行数据交换。以下是对两个控件进行介绍。
ClientSocket
简介
ClientSocket是封装了作为客户端的Socket的一个控件,当在应用程序的Form中加入了控件之后,就可以选择所要连接的Server,需要Server提供什么样的服务。当设定好参数之后,就可以开始和Server建立连接了。连接建立好之后就可以通过ClientSocket和ServerSocket交换数据了。交换数据之后可以断开连接。
TClientSocket的类继承关系如下:
Tobject
Tpersistent
Tcomponent
TcustomSocket
TClientSocket
TcustomSocket把WinSock的API已经封装好了,包含了WinSock的初始化、退出的环境清理、API的调用既网络事件的消息响应等。
ClientSocket的属性
(1)Active
类型:布尔型
表示是否建立连接;
(2)Address
类型:string
建立连接后不可更改,更改后引发一个EsocketError异常。
如果设定了host属性,则address将会被忽略。
(3)ClientType
CtNonBlocking,就是允许Socket异步的处理读写事件
Ctblocking读写操作是同时进行的。
(4)Host
用于指定域名或IP
同样在连接时,改变Host属性会产生一个EsocketError的异常。
(5)Name
(6)Port
指定端口号。
连接过程中改变会产生一个EsocketError的异常。
(7)Service
用于指定服务的名字。
使用Service属性后PORT属性将被忽略。
连接过程如果改变了,会产生一个EsocketError的异常。
(8)Socket
是一个TclientWinSocket类的对象,它描述了Wind