RSS订阅 | 匿名投稿
您的位置:网站首页 > 网络 > 正文

delphi的TClientSocket组件和TserverSocket组件(C/S)说明

作者:admin 来源: 日期:2015/4/27 20:34:20 人气: 标签:

Delphi是一种功能强大的面向对象的编程语言,在网络方面,它将windows API封装成许多组件,大大简化了编程的复杂程度。对于一些比较简单的程序,利用Delphi中的一些网络组件,可以轻松地解决问题。

下面将说明TClientSocket组件、TserverSocket组件。

Socket组件的安装方法5

一.TClientSocket组件

TClientSocket组件主要作为客户端的套接字使用。它封装了客户端的套接字,在与服务器建立连接后,就负责管理这个链接,在结束连接之后关闭套接字。下面将简单地介绍TClientSocket组件的主要属性、方法和事件。

1.属性

●Active:设置ClientSocket是否打开。

●ClientType:设置ClientSocket使用阻塞式还是非阻塞式。

●Address:想要连接的服务器的ip地址。

●Host:想要连接的服务器的主机名。

●Port:想要连接服务器的端口号。

●Service:想要获得的服务。

●Socket:TClientWinSocket连接所使用的Socket,它负责数据的传输。

上面是TclientSocket组件的主要属性。在实际使用中,主要是设TclientSocket组件的Address属性(或Host属性)和Port属性。只要知道服务器的ip地址、端口号,将组件的Active属性设置为True,就可以建立和服务器Socket的连接了。属性ClientType是对应套接字在试图获得数据没有到来时,就会占用进程,而不去处理其他的事,直到数据到来为止。非阻塞则正好相反,在套接字等待数据而数据还未到来时,套接字不会等待,而是直接返回,等待数据到来时才去接收数据,在一般情况下,用非阻塞比较多。

2.方法

●Create:创建一个TClientSocket对象。

●Destroy:释放一个TClientSocket对象。

●Open:初始化Socket连接,等同于将Active属性设置为True。

●Close:关闭Socket连接,等同于将Active属性设置为False。

3.事件

●OnConnect:当客户与服务器建立连接后该事件被触发。

●OnConnecting:在找到服务器时,当尚未建立连接时,该事件被触发。

●OnDisConnect:在改变连接前,该事件被触发。

●OnError:在创建、使用或者关闭套接字出现错误时,该事件被触发。

●OnLookup:在试图寻找服务器端套接字时,该事件被触发。

●OnRead:在客户端有数据到来并可以读取时,该事件被触发。

●OnWrite:在客户端有数据需要发送时,该事件被触发。

二.TServerSocket组件

TserverSocket组件主要作为服务器端的套接字管理器使用。它封装了服务器端的套接字。在打开套接字后,服务器端就处于监听状态,在接收到其他计算机的连接请求之后,与客户端建立连接,创建一个新的套接字,用于和客户端互相传数据,此时TServerSocket组件则继续监听客户端的连接。

下面将简单地介绍一下TServerSocket组件的主要属性、方法和事件。

1.属性

●Active:设定TserverSocket是否处于打开,并处于监听状态。

●SeverType:设定TServerSocket按阻塞式还是非阻塞式模式工作方式。

●Port:服务器端口。

●Service:服务器端提供的服务。

●Socket:连接所使用的Socket。

●TreadCacheSize:允许客户连接的最大数值。

2.方法

●Create:创建一个TServerSocket 对象。

●Destroy:释放一个TServerSocket对象。

●Open:打开 TServerSocket 并开始监听,等同于将Active属性设为True。

●Close:关闭 TServerSocket ,断开与客户端连接,等同于将Active属性设置为False。

3.事件

●OnAccept:当有客户端请求连接时,该事件被触发。

●OnClientConnect:当有客户端的连接请求被接受并且客户端的连接建立时,该事件被触发。

●OnClientDisConnect:当有客户端的套接字被关闭时,该事件被触发。

●OnClientError:当与一个独立的客户端建立、使用、断开出现错误时,该事件被触发。

●OnClientRead:当服务器应该从某一个与客户端连接的套接字读取数据时,该事件被触发。

●OnClientWrite:当服务器应该给某一个与客户端连接的套接字发送数据时,该事件被触发。

●OnGetSocket:当服务器端应该创建一个TServerSocket 对象已用于和一个客户端的连接时,该事件被触发。

●OnGetThread:当服务器应该创建一个新线程以用于和一个客户端的连接时,该事件被触发。

●OnListen:当服务器进入监听状态时,该事件被触发。

●OnThreadEnd:当与一个客户端的套接字连接终结,并且相对应的通信线程也将结束,该事件被触发。

●OnThreadStart:当与一个客户端的套接字连接建立完毕,并且相对应的通信线程也将开始,该事件被触发。


读完这篇文章后,您心情如何?
0
0
0
0
0
0
0
0
本文网址:
下一篇:没有资料