Gudbinta kala-badhka TCP ka dib marka la faaruqo baytamada sugaya
Ka shaqee EOF gudaha proxy TCP adigoon lumin xogta safka ku jirta ama jarin jawaabta dhinaca kale.
Macmiilku wuu dhammeeyaa dirista, proxy-gu wuxuu arkaa EOF, jawaabtuna way libdhaa. In labada socket ee proxy-ga isla markiiba la xiro waxay sababi kartaa isla taxanahaas. Gudbinta TCP, dhammaad nidaamsan oo hal dhinac ah macneheedu maaha in dhinaca kale dhammaaday.
Tixgeli macmiil diraya codsi, xira dhinaca diristiisa oo sugaya jawaabta:
client -- request, then FIN --> proxy --> service
client <-------- reply ------- proxy <-- service
Proxy-gu wuxuu leeyahay laba xidhiidh TCP iyo laba qulqul oo baytamo ah oo si madax-bannaan u dhaqaaqa. Waa inuu calaamadda dhammaadka gelinta u gudbiyo hore, ka dib marka uu gudbiyo baytamada ka horreeya.
Faaruq safka ka hor inta aanad gudbin EOF
Qaadasho cabbir aan eber ahayn oo ku taal qulqulka TCP, soo-celinta eber waxay tilmaamaysaa dhammaad nidaamsan oo qulqulkaas soo-gelaya. Calaamadee jihada akhrintaas inay dhammaatay. Jooji sugitaanka wax-soo-gelin dheeraad ah, laakiin hayso baytamada horey loogu safay socket-ka ka soo horjeeda.
Marka safka macmiil-ka-ila-service faaruqo, wac shutdown(service_socket, SHUT_WR) socket POSIX ah. Taasi waxay dhamaysaa gudbinta dheeraadka ah ee xagga adeegga halka jihada adeeg-ka-ila-macmiil ay sii furnaato. Marka adeeggu dhammeeyo jawaabtiisa, ku dhaqan falcelinta muraayadda ka dib marka la faaruqo safka jawaabta.
Xiritaanka sharraxayaashu waxay ku habboon tahay barta ay labada jiho iyo buffer-yadooda sugaya dhammaadeen, ama halka khalad ama joojin u baahan tahay dhammaad. Hayso waqti xaddidan oo loogu talagalay lammaane aan waligiis dhamaystirin qaybtiisa hadhay.
Diyaargarowgu waa casuumad akhris
Socket la akhriyi karo waxay yeelan kartaa xog ama xaalad EOF. Wac recv oo fasir natiijada. Tirooyinka togan waa baytamo la gudbinayo; eber waa dhammaadka jihada. Socket aan xannibin, EAGAIN ama EWOULDBLOCK waxay ka dhigan tahay in hadda aanay jirin wax-soo-gelin dheeraad ah, halka EINTR laga yaabo inuu u baahan yahay isku-day mar kale. Midkoodna maaha isla dhacdada EOF.
Ha ka raadin calanka FIN buffer-ka baytamada ee la soo celiyay. TCP waxay API-kan u gaarsiisaa qulqul baytamo nidaamsan; xuduudaha baakadaha iyo qaybta FIN maaha culeyska caadiga ah ee barnaamijka.
Kani waa meertada nolosha ee tunnel baytamo ceyriin ah. Proxy HTTP oo falanqeeya fariimaha wali waa inuu ixtiraamo qaabaynta HTTP, proxy-na dhammeeya TLS sidoo kale wuxuu leeyahay borotokool xirid TLS. Hayso go'aamadaas borotokoolka ka sarreeya gudbinta TCP ee jihaysan.