我正在编写一个应用程序,它用于TIdTCPClient通过套接字与另一个应用程序通信。
我希望应用程序尝试连接到某个服务器,直到建立连接(即,直到服务器上线)。
为此,我编写了以下代码:
procedure SendingThread.Execute();
var
I : integer;
Test : string;
IsConnected : Boolean;
begin
TcpClient := TIdTCPClient.Create;
TcpClient.Host := '127.0.0.1';
TcpClient.Port := 9999;
TcpClient.ConnectTimeout := 60000;
IsConnected := false;
while not IsConnected do
begin
try
TcpClient.Connect;
IsConnected := True;
except
on E:EIdSocketError do
IsConnected := false;
end;
end;
...
end;
当我在服务器脱机的情况下运行此代码时,我得到EIdSocketError错误代码10061。之后抛出异常TcpClient.Connect;。
我怎样才能修改代码,以便在except原因中捕获此异常?