我正在编写一个应用程序,它用于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
原因中捕获此异常?