代码如下,5秒钟连接一下,如果服务端一直开着没问题,但是如果关闭服务端,客户端CPU就会到100%,而且重新打开服务端,客户端也无法连接。。
procedure TServerForm.Timer1Timer(Sender: TObject);
begin
 try
 if not IdTCPClient1.Connected then
 begin
  if ConRpcport(IdTCPClient1) then
     begin
         if not IdTCPClient1.Connected then exit;
         SendStreamToClient(IdTCPClient1,'000',Servername+#13+GetOSName(GetOSVersion));
         ClientHandleThread:=TClientHandleThread.Create;
    end;
 end;
 except
 end;
end;

解决方案 »

  1.   

    代码如下,A机器  5秒钟连接一下B,如果B一直开着没问题,但是如果关闭B,A CPU就会到100%,而且重新打开B ,A也无法连接B。。A的代码
    procedure TServerForm.Timer1Timer(Sender: TObject);
    begin
     try
     if not IdTCPClient1.Connected then
     begin
      if ConRpcport(IdTCPClient1) then
         begin
             if not IdTCPClient1.Connected then exit;
             SendStreamToClient(IdTCPClient1,'000',Servername+#13+GetOSName(GetOSVersion));
             ClientHandleThread:=TClientHandleThread.Create;
        end;
     end;
     except
     end;
    end;
    那里有问题?