Random Indy ResponseCode = -1 / EIdSocketError Socket Error # 0 Ausnahmen

Ich habe einen Delphi-Code, der im Grunde genommen Dateien auf Remote hochlädtsichern Server mitIndy 10.4.704:

<code> IdHTTP                 := TIdHTTP.Create(nil);
 try
    TheCompressor       := TIdCompressorZLib.Create(nil);
    TheSSL              := TIdSSLIOHandlerSocketOpenSSL.Create(nil);

    with IdHTTP do
    begin
         HTTPOptions     := [hoForceEncodeParams];
         AllowCookies    := True;
         HandleRedirects := True;
         ProtocolVersion := pv1_1;

         IOHandler       := TheSSL;
         Compressor      := TheCompressor;
    end;    // with

    // Get upload resume offset
    try
       IdHttp.Head('https://www.domain.com/my-file.bin');
       if (IdHttp.Response.ResponseCode <> 404) And (IdHttp.Response.ContentLength >= 0) then
          StartPos   := IdHttp.Response.ContentLength
       else
           StartPos  := 0;
    except
          StartPos   := 0;
    end;    // try/except

    // Upload File
    TheFile          := TFileStream.Create(FileName, fmOpenRead OR fmShareDenyWrite);
    RangeStream      := TIdHTTPRangeStream.Create(TheFile, StartPos, -1, True);
    try
       if (RangeStream.ResponseCode = 206) then
          IdHTTP.Post(https://www.domain.com/upload.php', RangeStream);
    finally
           RangeStream.Free;
    end;    // try/finally
 finally
        FreeAndNil(IdHTTP);
 end;    // try/finally
</code>

Das Problem ist, dassmanchmal Der Code schlägt fehl, wenn Indy einen wirftEIdSocketError Socket Error # 0 Ausnahme (idHTTP.ResponseCode ist -1)

Angesichts meiner beschissenen Internetverbindung habe ich eine EC2-Windows-Instanz gestartet und meinen Code darauf getestet (die Windows-Instanz wird in der Cloud ausgeführt, daher gehe ich von einer Verbindung ausist nicht ein Problem), aber ich habe das gleiche Problem!

Der Fehler scheint zufällig zu sein, manchmal funktioniert das Hochladen, manchmal nicht. Ich habe mit TidLogFile debuggt. Alles, was ich finden konnte, ist etwa Folgendes:

<code>Stat Connected.
Sent 4/26/2012 4:18:42: POST /app/upload.php...
Sent 4/26/2012 4:18:42: <uploaded_file_data_here>
Stat Disconnected.
</code>

Weiß jemand woran das liegt / wie man das behebt?

BEARBEITEN

I Die Ausnahme wurde auf TIdSSLIOHandlerSocketOpenSSL zurückgeführt. Ich habe viel gegoogelt, es scheint kein SSL-Fehler zu sein.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage