Qulqulka laba-geesoodka ah iyo cadaadiska gadaal ee relay-ga SOCKS
Nashqadee qulqulka relay-ga iyada oo ku salaysan qulqulka byte ee madaxbannaan, I/O qayb ah, buffer xaddidan iyo cadaadis gadaal, halkii laga qaadan lahaa cabbirka jawaabta la malaayacday.
SOCKS handshake-ku wuu guuleystay. Hadda relay-gu wuxuu ka akhriyaa macmiilka, wax ku qoraa meesha loo socdo, wuxuu sugayaa jawaab buuxda, ka dibna kaliya ayuu mar kale ka akhriyaa macmiilka. Taxanahaas waxa uu deadlock ku ridi karaa codsi si buuxda u ansax ah.
Marka tunnel-ka TCP la dhiso, SOCKS ma qeexo fariimaha gudihiisa. Meesha loo socdo ayaa laga yaabaa inay marka hore dirto. Labada dhinacba waxay u diri karaan si madaxbannaan. Hal dhinac wuxuu diri karaa diiwaan gaaban ka dibna sugayaa jawaabta dhinaca kale.
Gudbi byte-yada, ma aha macaamilo la malaayacday
Wicitaanka helitaanku wuxuu soo celiyaa byte-yada la heli karo iyadoo loo eegayo calaamadaha iyo xaaladda socket-ka. Ma sheegto relay guud in jawaabta codsigu dhammaatay. Sugitaanka in buffer aad u weyn oo aan loo baahnayn buuxsamo waxay ka hor istaagi kartaa gudbinta fariinta yar ee ay qaybta kale u baahan tahay inay sii socoto.
Isticmaal qaabka isku-dhafka ah ee codsigu horey u leeyahay si loo adeego labada jiho: event loop, I/O asynchronous ama nashqad kale oo si ula kac ah loo doortay. Dhaqanka muhiimka ah ayaa ah in horumarka hal jihada uusan u baahnayn xad fariin la hindisay jihada kale.
Hayso laba buffer oo sugaya oo xaddidan
Xogta laga akhriyay macmiilka waxa laga yaabaa inay weli sugayso inay gaadho meesha loo socdo, halka xogta ka timaadda meesha loo socdo ay sugayso inay gaadho macmiilka. La soco byte-yadaas sugaya si gooni ah.
Diristu waxay qori kartaa byte-yar ka badan inta la codsaday. Hayso qaybta aan la qorin; ha tuurin ama ha dib u ciyaarin buffer-ka oo dhan. Socket-ka si ku meel gaar ah aan la qori karin waa sabab loo sugo dhacdada diyaargarowga saxda ah, ma aha in si joogto ah loo wareego.
Xaddid buffer-yada. Haddii meesha loo socdo ay gaabis tahay, sii wadista akhrinta xogta macmiilka ee aan xaddidnayn waxay kaliya safka u rartaa xusuusta relay-ga. Cadaadiska gadaal macneheedu waa joojinta akhrinta marka buffer-ka sugaya ee u dhigma uu buuxsamo iyo dib u bilaabista marka qoristu boos ka samayso.
Dhammaadka hal jihada wuxuu u baahan yahay siyaasad
TCP waxa uu xiri karaa jihada dirista halka jihada kale ay weli leedahay xog faa'iido leh. Go'aanso sida loogu gudbiyo xaaladdaas ka dib marka byte-yada buffer-ka ah ay gabaad, oo kala sooc xidhitaanka nidaamsan iyo khalad ama waqti kama dambays ah.
Midkoodna tan kama dalbanayso relay-ga inuu decrypt ama parse ku sameeyo payload-ka codsiga. Waxa uu u baahan yahay maaraynta qulqulka saxda ah. Kaliya kordhinta cabbirka buffer-ka ma hagaajin karto relay sugaya dhinaca qaldan ama u malaynaya in akhris kastaa uu u dhigmaa hal codsi oo dhan.