I-Socket.SendTimeout ayiwukhawuleli umzamo wokuxhumana ne-proxy
Khawulela ukuhlolwa kwembobo ye-proxy ngesikhathi kusungulwa ukuxhumana esikhundleni sokusetha isikhathi esisebenza kuphela ekuthumeleni idatha.
Umhloli we-proxy usetha SendTimeout = 200, ubiza Connect futhi ulinda isikhathi eside kakhulu kunalokho obekulindelekile. Isikhathi sinamathele emsebenzini umhloli angakafinyeleli kuwo.
I-Socket.SendTimeout ilawula ukuthumela okuhambisanayo. Ayinikezi umzamo wokuxhumana ohambisanayo isikhathi sokugcina esingu-200 ms. Ukwengeza ubuthongo ngaphambi kwe-Connect kwengeza okunye ukubambezeleka kuphela.
Khansela umsebenzi olindile
Kumgomo wesimanje we-.NET ohlinzeka nge-overload ekhanselwayo, ukuhlolwa kwe-async kungasebenzisa isabelomali sako ekusungulweni kokuxhumana:
using var budget = new CancellationTokenSource(TimeSpan.FromSeconds(2));
using var client = new TcpClient();
await client.ConnectAsync(proxyHost, proxyPort, budget.Token);
Le ngxenye ingeyendlela ye-async, kanti umsingathi nembobo ye-proxy kunikezwa ogcina; umuntu wesithathu osemphakathini ovela ohlungwini lwe-proxy angahlinzeka lezo zokufaka ezimbili. Phatha ukukhansela ngokwehlukile enkingeni ye-socket uma umhloli ubika izizathu zokwehluleka. Ukulahla iklayenti futhi kuvimbela ukuhlolwa osekuqediwe ukuthi kunqwabelane ama-socket.
Ikhodi endala ye-.NET Framework ayinayo yonke i-overload yesimanje. Sebenzisa ukuhlelwa kokuxhumana kwe-async okusekelwayo futhi uvale i-socket ngokucacile lapho ushiya umzamo. Ukumisa kuphela ukulinda kwakho akufakazeli ukuthi umsebenzi ongaphansi umile.
Umphumela oluhlaza usewumphumela omncane
Ukuxhumana kwe-TCP okuphumelelayo kufakazela ukuthi le klayenti yafinyelela iphoyinti lokugcina elilalelayo. Akukaxoxisani nge-SOCKS, akukaqinisekisi ku-proxy ye-HTTP, akukavuli i-CONNECT futhi akukatholi impendulo yewebhusayithi efiswayo.
Nikeza lezo zigaba zakamuva ukuphathwa kwazo okulinganiselwe, noma dlulisa isikhathi sokugcina esiphelele esihloselwe ngamabomu kuzo. Uma kungenjalo isikhathi sokuxhumana esilungisiwe singasebenza ngokuphelele kuyilapho umhloli echitha enye iminithi elinde i-handshake ye-proxy.