TsgcHTTP3Client › Eigenschaften › ConnectTimeout
Maximale Zeit in Millisekunden, die der Client auf den Aufbau der QUIC-Verbindung wartet.
property ConnectTimeout: Integer read FConnectTimeout write FConnectTimeout;
Integer
10000 (10 Sekunden)
ConnectTimeout begrenzt die Zeit, die für das Öffnen einer Verbindung aufgewendet wird, was den QUIC-Handshake, den TLS-1.3-Austausch und die h3-ALPN-Aushandlung umfasst. Wenn der Handshake nicht rechtzeitig abgeschlossen wird, wird der Versuch abgebrochen. Das Timeout wird auf den Verbindungsversuch selbst angewendet, sodass ein Server, der nicht erreichbar ist oder nicht antwortet, nach ConnectTimeout fehlschlägt, standardmäßig nach 10 Sekunden, statt nach dem Transportstandard von etwa 30 Sekunden.
Beim Upgrade ist zu beachten, dass dieser Wert zuvor ignoriert wurde. Ein Verbindungsversuch zu einem nicht antwortenden Server dauerte immer etwa 30 Sekunden, unabhängig davon, was ConnectTimeout angab, weil der Handshake der TLS-Bibliothek und ihrem eigenen Zeitbudget überlassen wurde. Code, der einen kürzeren Wert setzt, erhält jetzt das angeforderte Verhalten, sodass Verbindungsversuche früher fehlschlagen können als bisher.
Dasselbe Timeout begrenzt zwei weitere Wartevorgänge, die vom SETTINGS-Frame des Peers abhängen: ExtendedConnect, das darauf wartet zu erfahren, ob der Server Extended CONNECT erlaubt, und WebTransportConnect, das auf den CONNECT-Status wartet.
Die Wartezeit auf einen Antwort-Body wird stattdessen von ReadTimeout gesteuert.
oClient.ConnectTimeout := 5000;