procedure TTCPClient.Execute;
var
Line: String;
begin
try
Socket.SSL.CertCAFile := FCertFile;
Socket.Connect(FHost, IntToStr(FPort));
Socket.SSLDoConnect;
if Socket.LastError <> 0 then
begin
if FOnError <> nil then
FOnError(Self, Socket.LastError, Socket.LastErrorDesc);
Exit;
end
else
begin
if FOnConnect <> nil then
FOnConnect(Self);
FConnected := True;
end;
repeat
while Socket.CanRead(1000) do
begin
Line := Socket.RecvString(1);
if Line = '' then
continue;
Window.LogClient(Line);
end;
until False;
finally
if FOnDisconnect <> nil then
FOnDisconnect(Self);
Socket.Free;
end;
end;