NetworkStream.DataAvailable kò fi òpin ìdáhùn HTTP hàn
Dènà àwọn ìgbàsílẹ̀ HTTP tí a gé nípa lílo fírémù ìfiránṣẹ́ dípò NetworkStream.DataAvailable gẹ́gẹ́ bí ipò òpin.
NetworkStream.DataAvailable == false túmọ̀ sí pé kò sí báìtì tí ó ṣetán fún kíkà lẹ́sẹ̀kẹsẹ̀. Kò túmọ̀ sí pé ìdáhùn HTTP ti parí. Lúùpù tí ó dúró níbẹ̀ lè gé ìgbàsílẹ̀ SOCKS tí ó wà ní pípé dáadáa ní àkókò àlàfo láàrín àwọn pákẹ́tì.
Lẹ́yìn tí SOCKS ti dá ìsopọ̀ TCP, fírémù HTTP ṣì ń pèsè òfin ìparí:
- Ara Content-Length pari lẹ́yìn àwọn báìtì àkóónú tí a kéde.
- Ìdáhùn chunked nílò chunk ìparí rẹ̀ àti àwọn trailer tí ó bá a mu.
- Ìdáhùn tí ìsopọ̀ dínà pari pẹ̀lú ìsopọ̀ náà.
- Àwọn ipò kan àti àwọn ìdáhùn sí HEAD kò ní ara.
Ka ipò àti àwọn àkọlé láti pinnu òfin tí ó yẹ. Dídúró de pípàdé nìkan kì í ṣe ojútùú gbogbogbò, nítorí ìdáhùn HTTP pípé lè fi ìsopọ̀ sílẹ̀ ní ṣíṣí. Agbára búfà kan náà kò ní ìbáṣepọ̀ pẹ̀lú gígùn ìdáhùn.
Lo ìmúṣẹ fírémù kíláìẹ̀ntì HTTP nígbà tí ó bá ṣe àtìlẹ́yìn fún gbígbé proxy tí a yàn. Lórí .NET runtime òde òní tí ó bá a mu, gbé àtìlẹ́yìn SOCKS àbínibí HttpClient yẹ̀wò. Ìmúṣẹ àìdánù gbọ́dọ̀ pa ipò ìtúpalẹ̀ mọ́ láàrín àwọn àkọlé àìpé àti kíkà ara, kí ó sì yà ìparí àṣeyọrí kúrò nínú ìfagilé, àkókò pípa àti EOF àìròtẹ́lẹ̀. Nínú ìbéèrè kíkà tí kò ṣófo, báìtì òfo tí a kà túmọ̀ sí pé ṣísàn ti parí; èyí yàtọ̀ sí pé kò sí báìtì nínú ìlà ní àkókò yìí.
Proxy lè jẹ́ kí àwọn àlàfo àkókò hàn kedere, ṣùgbọ́n kò yí ìlà ìgbàpadà tí ó ṣófo padà sí àmì òpin ìfiránṣẹ́.