小豆花儿 發表於 2022-11-21 10:50:00

Delphi IdTCPClient[1] 介绍、属性、方法

<p><span style="font-size: 16px"><strong>Delphi IdTCPClient 介绍、属性、方法</strong></span></p>
<p><span style="font-size: 16px"><strong>1、介绍</strong></span></p>
<p><span style="font-size: 16px"><strong>实现TCP客户端。</strong>TIdTCPClient封装了一个完整的TCP(传输控制协议)客户端,包括socks支持。TIdTCPClient可以用作特定协议实现的祖先类。许多Indy客户端组件,如TIdDayTime、TIdEcho、TIdFinger、TIdFTP、TIdGopher、TIdPHTTP、TIdNNTP、TIdPOP3、TIdQUOT、TIdSMTP、TIdTelnet和TIdWhois都是TIdTCPClient的后代</span></p>
<div class="cnblogs_Highlighter">
<pre class="brush:delphi;gutter:true;"><span style="font-size: 16px">unit IdTCPClient;

interface

uses
Classes, IdStack,
IdException, IdGlobal, IdTCPConnection;

const
BoundPortDefault = 0;

type
TIdTCPClient = class(TIdTCPConnection)
protected
    FBoundIP: string;
    FBoundPort: Integer;
    FBoundPortMax: Integer;
    FBoundPortMin: Integer;
    FHost: string;
    FOnConnected: TNotifyEvent;
    FPassword: string;
    FPort: integer;
    FUsername: string;
    //
    procedure SetHost(const Value: string); virtual;
    procedure SetPort(const Value: integer); virtual;
    procedure DoOnConnected; virtual;
    //
    property Username: string read FUsername write FUsername;
    property Password: string read FPassword write FPassword;
public
    procedure Connect(const ATimeout: Integer = IdTimeoutDefault); virtual;
    function ConnectAndGetAll: string; virtual;
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    //
    property BoundPortMax: Integer read FBoundPortMax write FBoundPortMax;
    property BoundPortMin: Integer read FBoundPortMin write FBoundPortMin;
published
    property BoundIP: string read FBoundIP write FBoundIP;
    property BoundPort: Integer read FBoundPort write FBoundPort default BoundPortDefault;
    property Host: string read FHost write SetHost;
    property OnConnected: TNotifyEvent read FOnConnected write FOnConnected;
    property Port: integer read FPort write SetPort;
end;

implementation

uses
IdComponent, IdIOHandlerSocket, IdResourceStrings,
SysUtils;</span></pre>
</div>
<p><span style="font-size: 16px"><strong>2、属性:</strong></span></p>
<ul>
<li><span style="font-size: 16px"> BoundIP</span></li>
<li><span style="font-size: 16px"> BoundPort</span></li>
<li><span style="font-size: 16px"> BoundPortMax</span></li>
<li><span style="font-size: 16px"> BoundPortMin</span></li>
<li><span style="font-size: 16px"> Host</span></li>
<li><span style="font-size: 16px"> OnConnected</span></li>
<li><span style="font-size: 16px"> Port</span></li>
</ul>
<p><span style="font-size: 16px">TIdTCPConnection</span></p>
<ul>
<li><span style="font-size: 16px"> ASCIIFilter</span></li>
<li><span style="font-size: 16px"> ClosedGracefully</span></li>
<li><span style="font-size: 16px"> Greeting</span></li>
<li><span style="font-size: 16px"> InputBuffer</span></li>
<li><span style="font-size: 16px"> Intercept</span></li>
<li><span style="font-size: 16px"> IOHandler</span></li>
<li><span style="font-size: 16px"> LastCmdResult</span></li>
<li><span style="font-size: 16px"> MaxLineAction</span></li>
<li><span style="font-size: 16px"> MaxLineLength</span></li>
<li><span style="font-size: 16px"> OnDisconnected</span></li>
<li><span style="font-size: 16px"> OnWork</span></li>
<li><span style="font-size: 16px"> OnWorkBegin</span></li>
<li><span style="font-size: 16px"> OnWorkEnd</span></li>
<li><span style="font-size: 16px"> ReadLnSplit</span></li>
<li><span style="font-size: 16px"> ReadLnTimedOut</span></li>
<li><span style="font-size: 16px"> ReadTimeout</span></li>
<li><span style="font-size: 16px"> RecvBufferSize</span></li>
<li><span style="font-size: 16px"> SendBufferSize</span></li>
<li><span style="font-size: 16px"> Socket</span></li>
</ul>
<p><span style="font-size: 16px">TIdComponent</span></p>
<ul>
<li><span style="font-size: 16px"> LocalName</span></li>
</ul>
<p><span style="font-size: 16px">TIdBaseComponent</span></p>
<ul>
<li><span style="font-size: 16px"> Version</span></li>
</ul>
<p><span style="font-size: 16px"><strong>3、方法</strong></span></p>
<p><span style="font-size: 16px">TIdTCPClient</span></p>
<ul>
<li><span style="font-size: 16px"> Connect</span></li>
<li><span style="font-size: 16px"> ConnectAndGetAll</span></li>
<li><span style="font-size: 16px"> Create</span></li>
<li><span style="font-size: 16px"> Destroy</span></li>
</ul>
<p><span style="font-size: 16px">TIdTCPConnection</span></p>
<ul>
<li><span style="font-size: 16px"> AllData</span></li>
<li><span style="font-size: 16px"> CancelWriteBuffer</span></li>
<li><span style="font-size: 16px"> procedure Capture(ADest: TStream; const ADelim: string = '.'; const AIsRFCMessage: Boolean = True); overload;</span></li>
<li><span style="font-size: 16px"> procedure Capture(ADest: TStream; out VLineCount: Integer; const ADelim: string = '.'; const AIsRFCMessage: Boolean = True); overload;</span></li>
<li><span style="font-size: 16px"> procedure Capture(ADest: TStrings; const ADelim: string = '.'; const AIsRFCMessage: Boolean = True); overload;</span></li>
<li><span style="font-size: 16px"> procedure Capture(ADest: TStrings; out VLineCount: Integer; const ADelim: string = '.'; const AIsRFCMessage: Boolean = True); overload;</span></li>
<li><span style="font-size: 16px"> CheckForDisconnect</span></li>
<li><span style="font-size: 16px"> CheckForGracefulDisconnect</span></li>
<li><span style="font-size: 16px"> CheckResponse</span></li>
<li><span style="font-size: 16px"> ClearWriteBuffer</span></li>
<li><span style="font-size: 16px"> CloseWriteBuffer</span></li>
<li><span style="font-size: 16px"> Connected</span></li>
<li><span style="font-size: 16px"> Create</span></li>
<li><span style="font-size: 16px"> CurrentReadBuffer</span></li>
<li><span style="font-size: 16px"> Destroy</span></li>
<li><span style="font-size: 16px"> Disconnect</span></li>
<li><span style="font-size: 16px"> DisconnectSocket</span></li>
<li><span style="font-size: 16px"> FlushWriteBuffer</span></li>
<li><span style="font-size: 16px"> GetInternalResponse</span></li>
<li><span style="font-size: 16px"> function GetResponse(const AAllowedResponses: array of SmallInt): SmallInt; virtual; overload;</span></li>
<li><span style="font-size: 16px"> function GetResponse(const AAllowedResponse: SmallInt): SmallInt; overload;</span></li>
<li><span style="font-size: 16px"> InputLn</span></li>
<li><span style="font-size: 16px"> OpenWriteBuffer</span></li>
<li><span style="font-size: 16px"> procedure RaiseExceptionForLastCmdResult; virtual; overload;</span></li>
<li><span style="font-size: 16px"> procedure RaiseExceptionForLastCmdResult(AException: TClassIdException); virtual; overload;</span></li>
<li><span style="font-size: 16px"> ReadBuffer</span></li>
<li><span style="font-size: 16px"> ReadCardinal</span></li>
<li><span style="font-size: 16px"> ReadChar</span></li>
<li><span style="font-size: 16px"> ReadFromStack</span></li>
<li><span style="font-size: 16px"> ReadInteger</span></li>
<li><span style="font-size: 16px"> ReadLn</span></li>
<li><span style="font-size: 16px"> ReadLnWait</span></li>
<li><span style="font-size: 16px"> ReadSmallInt</span></li>
<li><span style="font-size: 16px"> ReadStream</span></li>
<li><span style="font-size: 16px"> ReadString</span></li>
<li><span style="font-size: 16px"> ReadStrings</span></li>
<li><span style="font-size: 16px"> function SendCmd(const AOut: string; const AResponse: SmallInt = -1): SmallInt; overload;</span></li>
<li><span style="font-size: 16px"> function SendCmd(const AOut: string; const AResponse: Array of SmallInt): SmallInt; virtual; overload;</span></li>
<li><span style="font-size: 16px"> WaitFor</span></li>
<li><span style="font-size: 16px"> Write</span></li>
<li><span style="font-size: 16px"> WriteBuffer</span></li>
<li><span style="font-size: 16px"> WriteCardinal</span></li>
<li><span style="font-size: 16px"> WriteFile</span></li>
<li><span style="font-size: 16px"> WriteHeader</span></li>
<li><span style="font-size: 16px"> WriteInteger</span></li>
<li><span style="font-size: 16px"> WriteLn</span></li>
<li><span style="font-size: 16px"> WriteRFCReply</span></li>
<li><span style="font-size: 16px"> WriteRFCStrings</span></li>
<li><span style="font-size: 16px"> WriteSmallInt</span></li>
<li><span style="font-size: 16px"> WriteStream</span></li>
<li><span style="font-size: 16px"> WriteStrings</span></li>
</ul>
<p><span style="font-size: 16px">TIdComponent</span></p>
<ul>
<li><span style="font-size: 16px"> BeginWork</span></li>
<li><span style="font-size: 16px"> Create</span></li>
<li><span style="font-size: 16px"> Destroy</span></li>
<li><span style="font-size: 16px"> DoWork</span></li>
<li><span style="font-size: 16px"> EndWork</span></li>
</ul>
<p><span style="font-size: 16px">TIdBaseComponent</span></p>
<ul>
<li><span style="font-size: 16px"> GetVersion</span></li>
</ul>
<p><span style="font-size: 16px"><strong>4、事件</strong></span></p>
<ul>
<li><span style="font-size: 16px">OnStatus&nbsp; &nbsp; &nbsp;//OnStatus是当前连接状态更改时触发的TIdStatusEvent事件处理程序。OnStatus由DoStatus方法触发,该方法提供事件处理程序使用的参数。axStatus是当前连接的TIdStatus值。aaArgs是Format函数的可选参数,用于构造表示当前连接状态的文本消息。</span></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="color: rgba(136, 136, 136, 1)">创建时间:2022.11.21  更新时间:</span></p>

</div>
<div id="MySignature" role="contentinfo">
    博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!<br><br>
来源:https://www.cnblogs.com/guorongtao/p/16910688.html
頁: [1]
查看完整版本: Delphi IdTCPClient[1] 介绍、属性、方法