NetworkStream.DataAvailable == false kusho ukuthi awekho amabhayithi alungele ukufundwa ngokushesha. Akusho ukuthi impendulo ye-HTTP isiphelile. Umjikelezo oma lapho ungase unqamule ukulanda kwe-SOCKS okuvamile ngokuphelele phakathi kwezikhala phakathi kwamaphakethe.

Ngemva kokuba i-SOCKS isisungule ukuxhumana kwe-TCP, ukuhlukanisa kwe-HTTP kusasihlinzeka umthetho wokuqedwa:

  • Umzimba one-Content-Length uphela ngemva kwamabhayithi okuqukethwe amisiwe.
  • Impendulo ye-chunked idinga i-chunk yokuphetha kanye nama-trailer afanele.
  • Impendulo enqunyelwe ukuxhumana iphela kanye nokuxhumana.
  • Ezinye izimo kanye nezimpendulo ku-HEAD azinawo umzimba.

Funda isimo kanye namakhanda ukuze unqume umthetho ofanele. Ukulinda ukuvalwa kuphela akusona isisombululo esijwayelekile, ngoba impendulo ye-HTTP ephelele ingashiya ukuxhumana kuvuliwe. Umthamo webhafa elilodwa nawo awuhlobene nobude bempendulo.

Sebenzisa ukusetshenziswa kokuhlukanisa kwiklayenti le-HTTP uma kusekela ukuthuthwa nge-proxy okukhethiwe. Kusikhathi sokusebenza se-.NET sesimanje esihambisanayo, cabanga ngokusekelwa kwe-SOCKS kwemvelo kwe-HttpClient. Ukusetshenziswa okuluhlaza kufanele kugcine isimo sokuhlaziya phakathi kwamakhanda ayingxenye nokufundwa komzimba, futhi kuhlukanise ukuqedwa okuphumelelayo nokukhanselwa, ukuphela kwesikhathi kanye ne-EOF engalindelekile. Esicelweni sokufunda esingenalutho, amabhayithi angu-zero afundiwe asho ukuthi umfudlana uphelile; lokhu kuhlukile ekubeni kungekho mabhayithi emgqeni njengamanje.

I-proxy ingenza izikhala zesikhathi zibonakale, kodwa ayiguquli umgqo wokwamukela ongenalutho ube uphawu lokuphela komlayezo.

Izihloko ezihlobene