Delphi網(wǎng)絡(luò)組件
TIdTCPClient組件介紹
TIdTCPClient組件實(shí)現(xiàn)了TCP的客戶端部分,它封裝了一個(gè)完整的TCP客戶端,包括對(duì)套接字的支持。該組件可用來作為實(shí)現(xiàn)專門協(xié)議的組件父類,TIdDayTime、TIdEcho、TIdFinger、TIdFT、TIdGopher、TIdHTTP、TIdNNTP、TIdPOP3、TIdQUOTD、TidTelnet以及TIdWhois組件都是其派生類。
屬性
1、BoundIP:指定客戶端連接使用的本地IP地址,Connect方法使用它進(jìn)行初始化綁定;
例:IdTCPClient1.BoundIP := '192.168.1.168';
2、Host:指定遠(yuǎn)程計(jì)算機(jī)的地址,該地址將成為客戶端連接的端點(diǎn)。計(jì)算機(jī)地址可以是‘www.osekje.com.cn’ 或 ‘192.168.6.18’ 的形式。要連接到計(jì)算機(jī)本身,可使用ip地址‘127.0.0.1’或‘localhost’。
例:IdTCPClient1.Host := '192.168.1.168';
3、Port:指定服務(wù)器為客戶端連接所用的端口號(hào),一個(gè)整形值;
例:IdTCPClient1.Port :=3000;
4、Intercept:TIdConnectionIntercept類型,允許截取連接的讀寫操作。作為協(xié)議對(duì)戰(zhàn)和TIdTCPConnection之間的中介,用于執(zhí)行登錄發(fā)送和接收的操作或提供對(duì)安全套接字協(xié)議層的支持。InterceptEnabled為True時(shí)該屬性才有效;
5、ReaLnTimedOut : 是一個(gè)只讀類型的布爾值,指定ReadLn方法是否超時(shí)。ReadLn方法將更新這個(gè)屬性,當(dāng)ReadFromStack返回的值為0時(shí),將該屬性設(shè)置為True;
方法
1、Connect 方法
建立服務(wù)器的連接,需要在Host屬性中提供主機(jī)名,在Port屬性中提供端口號(hào)。許多協(xié)議在實(shí)現(xiàn)時(shí)重載這個(gè)方法,因?yàn)樵搮f(xié)議需要專門的初始化順序。建立連接時(shí)為客戶端指定一個(gè)套接字句柄調(diào)用Binding方法,使用BoundIP屬性值作為本地計(jì)算機(jī)的IP地址。
2、ConnectAndGetAll 方法
打開一個(gè)Host屬性指定的服務(wù)器,Port屬性將指定端口的連接并讀取所有數(shù)據(jù),直到斷開連接。該方法支持對(duì)Day和DayTime的引用;
3、Destroy 方法
刪除一個(gè)TIdTCPClient對(duì)象。在刪除前,負(fù)責(zé)釋放由Create方法初始化的SocksInfo對(duì)象。
4、CheckForGracefulDisconnect方法
確定連接是否已終止。
5、Connected 方法
指定同等連接是否激活,值為布爾型,默認(rèn)為False,使用CloseGracefully可以確定連接是正常關(guān)閉還是突然終止。
6、Disconnect 方法
斷開同等連接。TIdTCPConnection的許多派生組件重載了這個(gè)方法,為不同協(xié)議提供需要的終止命令,如果由于一些錯(cuò)誤關(guān)閉一個(gè)連接,則可調(diào)用DisconnectSocket方法。
7、DisconnectSocket 方法
關(guān)閉連接的套接字綁定。與Disconnect方法不同,TIdTCPConnection的派生組件未重載這個(gè)方法。當(dāng)協(xié)議處理程序發(fā)生錯(cuò)誤或需要斷開連接時(shí),可以使用Disconnect方法。
8、ReadLn 方法
從Indy緩存區(qū)讀取一行數(shù)據(jù)。
浙公網(wǎng)安備 33010602011771號(hào)