Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   TidHttp/TidSslIoHandler timeout (https://www.delphipraxis.net/179828-tidhttp-tidssliohandler-timeout.html)

Klaus01 4. Apr 2014 16:06


TidHttp/TidSslIoHandler timeout
 
Guten Abend,

Hiermit versuche ich den read und connect timeout zu setzen:
Delphi-Quellcode:
 fHttpClient := TIdHttp.Create(nil);
  try
    fHttpClient.HandleRedirects := true;
    fURL := format('https://%s:%d',[ipAddress,fHttpPort]);
    fHttpClient.ReadTimeout := 5000;
    fHttpClient.ConnectTimeout := 60000;
    fUsername := username;
    fPassword := password;
    fSSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    fSslIoHandler.ConnectTimeout := 60000;
    fSslIoHandler.ReadTimeout := 5000;
    fSSLIOHandler.OnStatus := sslStatusHandler;
    fSSLIOHandler.OnStatusInfo := sslStatusInfohandler;
    fHttpClient.IOHandler :=fSSLIOHandler;
  except
   // ...
  end;
aber egal welch Werte ich einsetze..
Code:
16:55:58 - error : Error while to connection check 10.46.163.252.
[Socket Error # 10060 Connection timed out. - [20998]]
16:55:59 - error : Error while to connection check 10.46.163.98.
[Socket Error # 10060 Connection timed out. - [20998]]
Der Wert in Klammern ist mit getTickCount ermittelt.

Der Connection Timeout ist immer so um die 21 Sekunden.

Muss ich an einer anderen Schraube drehen?

Grüße
Klaus

mjustin 4. Apr 2014 16:40

AW: TidHttp/TidSslIoHandler timeout
 
Um welche Indy Version handelt es sich? (Auch ohne Packages in der IDE zu installieren kann man neuere Versionen einfach downloaden und in einem Projekt in den SUchpfad aufnehmen um sie zu testen)

Klaus01 7. Apr 2014 12:01

AW: TidHttp/TidSslIoHandler timeout
 
Hallo Michael,

ich habe nun die Version 10.6.0.5124 installiert.
Ich erhalte weiterhin timeouts nach ca 21 Sekunden.

Delphi-Quellcode:
  fHttpClient := TIdHttp.Create(nil);
  try
    fHttpClient.HandleRedirects := true;
    fUsername := username;
    fPassword := password;
    fSSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    fSSLIOHandler.OnStatus := sslStatusHandler;
    fSSLIOHandler.OnStatusInfo := sslStatusInfohandler;
    fHttpClient.IOHandler :=fSSLIOHandler;
    fSslIoHandler.ConnectTimeout := 60000;
    fSslIoHandler.ReadTimeout := 5000;
    fHttpClient.ReadTimeout := 5000;
    fHttpClient.ConnectTimeout := 60000;
    fHttpClient.Socket.ReadTimeout := 5000;
    fHttpClient.Socket.ConnectTimeout := 60000;
  except
     on E:Exception do
       raise Exception.Create('Error while initializing http client. ['+E.Message+']');
  end;
Ich wüsste jetzt nicht wo ich noch dran drehen kann...

Edit: Kann es sein, dass sich TIdHttp/TIdSocket unterschiedlich verhält wenn
a) die URL nicht erreichbar ist
b) die URL erreichbar ist - ader die Antwort des Servers länger auf sich warten lässt

Grüße
Klaus


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz