Ní chomharthaíonn NetworkStream.DataAvailable deireadh freagra HTTP
Seachain íoslódálacha HTTP gearrtha trí fhrámaíocht teachtaireachtaí a úsáid in ionad NetworkStream.DataAvailable mar choinníoll deiridh.
Ciallaíonn NetworkStream.DataAvailable == false nach bhfuil aon bhearta réidh le léamh láithreach. Ní chiallaíonn sé go bhfuil freagra HTTP críochnaithe. Féadfaidh lúb a stopann ansin íoslódáil SOCKS atá go hiomlán normal a ghearradh le linn bearna idir paicéid.
Tar éis do SOCKS an nasc TCP a bhunú, soláthraíonn frámaíocht HTTP an riail chríochnaithe fós:
- Críochnaíonn comhlacht Content-Length tar éis na mbeart ábhair a dhearbhaítear.
- Teastaíonn an chunk deiridh agus na trailers infheidhme ó fhreagra chunked.
- Críochnaíonn freagra atá teorannaithe ag an nasc leis an nasc.
- Níl aon chomhlacht ag roinnt stádas agus freagraí ar HEAD.
Léigh an stádas agus na ceanntásca chun an riail infheidhme a chinneadh. Ní réiteach ginearálta é fanacht le dúnadh amháin, mar is féidir le freagra HTTP iomlán an nasc a fhágáil oscailte. Níl baint ar bith ag acmhainn maoláin amháin le fad an fhreagra ach an oiread.
Úsáid cur i bhfeidhm frámaíochta an chliaint HTTP nuair a thacaíonn sé leis an iompar seachfhreastalaí roghnaithe. Ar am rite .NET nua-aimseartha comhoiriúnach, smaoinigh ar thacaíocht dhúchasach SOCKS HttpClient. Caithfidh cur i bhfeidhm amh staid pharsála a choinneáil thar cheanntásca páirteacha agus léamh comhlachta agus idirdhealú a dhéanamh idir críochnú rathúil agus cealú, teorainn ama agus EOF gan choinne. I gcás iarratais léitheoireachta nach bhfuil folamh, ciallaíonn nialas beart léite go bhfuil deireadh leis an sruth; tá sé seo difriúil ó nach bhfuil aon bhearta sa scuaine anois díreach.
Is féidir leis an seachfhreastalaí bearnaí ama a dhéanamh sofheicthe, ach ní athraíonn sé scuaine fáiltithe fholamh ina chomhartha deiridh teachtaireachta.