Ein lukka vil hava átta bytes av einum SOCKS svarí. Hon hevur fingið trý. Næsta lesing gevur b'', og lukkan leggur tað aftrat, eftirkannar longdina og roynir aftur um ævir.

Tað er ein EOF-handfaringarvilla, ikki ein seinn proxy, sum tørvar longri tíðarmark. Í vanligari móttøku gjøgnum streym-socket merkir ein tómur bytes-streingur, at mótsíðan er fráskild. Tey fimm bytes, sum eftir eru, koma ikki á tí sambandinum.

Ein nágreinilig lesihjálp tørvar trý ymisk úrslit: savna ikki-tómar lutir, miseydnast á EOF fyri áskildar longd og flyta eitt tíðarmark ella aðra socket-villu víðari. Hesi føri eiga ikki at falla saman í eina almennari endurtøku-lukku.

Set tíðarmarkið, sum socketurin skal hava, fyri aðgerðina og les tey feltlongd, sum proxy-protokollin ásetur. Ein einstak móttøka kann bert geva ein lut av einum svarí. Á annan hátt ger ein bøn um ein stóran fastan buffer ikki, at hvør SOCKS-adressa hevur ta longdina.

Bøta ikki um eina treyt við at líma eitt gamalt MSG_WAITALL-brotsøgul í keldu sína og halda, at tað fevnir um EOF, signal og atferð á palli. Vel heldur tann stuðlaða bøtin í tí varðveitta útførsluni, ella útfør treytina hjá hjálpini við vilja, tá ið greinarin er tín kóði.

Goym, hvussu nógv bytes vórðu væntað og fingin, uttan at skráseta skilríkisbyrðar. „EOF eftir trý av átta svarbytes“ greiðir frá tí brotna skiftinum nógv betur enn „proxy hongur aftur“.

Skyldar greinar