Handshake na SOCKS ya yi nasara. Yanzu relay yana karantawa daga abokin ciniki, yana rubutawa zuwa wurin da ake nufi, yana jiran cikakkiyar amsa, sannan kawai ya sake karantawa daga abokin ciniki. Wannan jerin na iya kulle wata manhaja mai inganci gaba ɗaya.

Da zarar an kafa ramin TCP, SOCKS ba ya bayyana saƙonnin da ke cikinsa. Wurin da ake nufi na iya turawa da farko. Bangarorin biyu na iya turawa da kansu. Wata bangare na iya tura ɗan gajeren rikodi sannan ta jira amsar ɗayan.

Aika bytes, ba hasashen ciniki ba

Kiran karɓa yana mayar da bytes da suke akwai bisa ga tutocinsa da yanayin soket. Ba ya gaya wa relay na gama gari cewa amsar manhajar ta cika. Jiran babban buffer da ba a ƙayyade ba ya cika na iya hana aika ƙaramin saƙon da abokin buƙatar don ci gaba.

Yi amfani da tsarin haɗin kai na manhajar da ake da shi don hidimar duk bangarorin biyu: madaukin al'amura, I/O marar daidaito, ko wani tsari da aka zaɓa da gangan. Muhimmin hali shi ne cewa ci gaba a wata hanya ba ya buƙatar ƙagaggen iyakar saƙo a ɗayan.

Riƙe buffers biyu masu iyaka da ke jira

Bayanan da aka karanta daga abokin ciniki na iya kasancewa har yanzu suna jiran isa wurin da ake nufi, yayin da bayanan wurin da ake nufi ke jiran isa abokin ciniki. Bi waɗannan bytes masu jira daban.

Aika na iya rubuta bytes kaɗan fiye da abin da aka nemi. Riƙe ɓangaren da ba a rubuta ba; kada ka jefar da shi kuma kada ka sake kunna dukan buffer. Soket da ba za a iya rubutu a cikinsa na ɗan lokaci dalili ne na jiran taron shirye-shiryen da ya dace, ba don juyawa ba tare da tsayawa ba.

Ka iyakance buffers. Idan wurin da ake nufi yana jinkiri, ci gaba da karanta bayanan abokin ciniki marasa iyaka yana motsa jerin zuwa ƙwaƙwalwar relay kawai. Backpressure na nufin dakatar da karatu lokacin da buffer mai jira ya cika da sake farawa lokacin da rubutu ya samar da wuri.

Ƙarshe a wata hanya na buƙatar manufa

TCP na iya rufe hanyar turawa yayin da ɗayan hanyar har yanzu tana da bayanai masu amfani. Yanke shawara yadda za a yada wannan yanayin bayan bytes ɗin da aka adana sun ƙare, kuma ka bambanta rufewar tsari daga kuskure ko ƙayyadadden lokaci.

Babu ɗaya daga cikin waɗannan da ke buƙatar relay ya yanke ko ya bincika kayan aikin manhajar. Yana buƙatar kulawar rafi daidai. Ƙara girman buffer kawai ba zai iya gyara relay da ke jiran ɓangaren da ba daidai ba ko yake ɗauka cewa kowane karatu ya dace da buƙata ɗaya cikakkiya.

Labarai masu alaƙa