Socket.SendTimeout limitéiert net eng Proxy-Verbindungsversuch
Limitéiert d'Proxy-Portprüfung beim Opbau vun der Verbindung amplaz eng Timeout ze setzen, déi nëmmen op d'Schécke vun Daten uwennbar ass.
E Proxy-Prüfer setzt SendTimeout = 200, rifft Connect op a waart vill méi laang wéi erwaart. D'Timeout hängt un enger Operatioun, déi de Prüfer nach net erreecht huet.
Socket.SendTimeout steuert synchron Schécken. Et gëtt enger synchroner Verbindungsversuch keng Frist vun 200 ms. En Schlof virum Connect derbäisetzen füügt just nach eng Verzögerung derbäi.
Briecht d'Operatioun of, déi waart
Op engem moderne .NET-Zil, deen déi ofbriechbar Iwwerlaascht ubitt, kann eng asynchron Prüfung hire Budget op den Opbau vun der Verbindung uwenden:
using var budget = new CancellationTokenSource(TimeSpan.FromSeconds(2));
using var client = new TcpClient();
await client.ConnectAsync(proxyHost, proxyPort, budget.Token);
D'Framment gehéiert an eng async-Method, woubäi den Proxy-Host an -Port vum Oprufer geliwwert ginn; en ëffentleche Kandidat aus enger Proxy-Lëscht ka déi zwou Inpute liwweren. Behandelt d'Ofbrieche getrennt vun engem Socket-Fehler, wann de Prüfer Grënn fir de Feelschlag mellen. D'Client-Objet freiginn verhënnert och, datt fäerdeg Prüfungen Sockets ansammelen.
Ältere .NET Framework-Code huet net all modern Iwwerlaascht. Benotzt eng ënnerstëtzt asynchron Verbindungsopstellung a schließt de Socket explizit, wann dir de Versuch opgitt. Just Är Waarderei stoppen beweist net, datt eng ënnerleeënd Operatioun gestoppt ass.
Déi gréng Resultat ass nach ëmmer e klengt Resultat
Eng erfollegräich TCP-Verbindung beweist, datt dëse Client en Endpunkt erreecht huet, deen nogeet. Si huet net iwwer SOCKS verhandelt, sech net bei engem HTTP-Proxy authentifizéiert, CONNECT net opgemaach an net déi gewënscht Äntwert vun der Websäit kritt.
Gitt deene spéidere Phase hir eege limitéiert Behandlung, oder drot eng bewosst Gesamtfrist duerch si. Soss kann de reparéierten Verbindungs-Timer perfekt funktionéieren, wärend de Prüfer nach eng Minutt op en Proxy-Handshake waart.