Sarrafa EOF a cikin madafan karatun SOCKS na Python
Sarrafa EOF a fili a cikin madafin karatun SOCKS na daidai maimakon ɗaukar haɗin da aka rufe a matsayin lokacin da ba zai taɓa zuwa ba.
Wata madafa tana son baiti takwas na amsar SOCKS. Ta sami uku. Karatu na gaba yana mayar da b'', madafar kuma tana ƙara shi, tana duba tsawon, sannan tana sake gwadawa har abada.
Wannan kuskure ne na sarrafa EOF, ba jinkirin wakili ba da ke buƙatar ƙarin lokaci. A cikin karɓar socket na rafi na yau da kullum, igiyar baiti mara komai tana nufin abokin taron ya katse. Sauran baiti biyar ɗin ba za su iso kan wannan haɗin ba.
Mataimakin karatun daidai yana buƙatar sakamako uku daban-daban: tara guntu marasa komai, gazawa kan EOF kafin tsawon da ake buƙata, da isar da lokaci ko wata kuskurar socket. Waɗannan al'amuran bai kamata su ruɗe cikin madafa ɗaya ta gama gari ba.
Saita lokacin da ake so na socket kafin aikin, kuma karanta tsawon filin da ka'idar wakili ta ƙayyade. Karɓa ɗaya na iya mayar da wani ɓangare na amsa kawai. Akasin haka, neman babban buffer mai tsayawa ba ya sa kowane adireshin SOCKS ya kasance da wannan tsawon.
Kada ka gyara dogaro ta hanyar liƙa tsohon guntun MSG_WAITALL a cikin tushensa da ɗauka cewa yana rufe EOF, sigina da halayen dandamali. Fi son gyaran da aka goyi bayan aiwatarwar da ake kula da ita, ko aiwatar da yarjejeniyar mataimakin da gangan lokacin da mai bincike ɗinka ne.
Ka riƙe adadin baiti da aka yi tsammani da waɗanda aka karɓa, ba tare da rubuta ɗibar bayanan shaidar ba. “EOF bayan uku daga cikin takwas na baitin amsa” yana bayanin musayar da ta lalace fiye da “wakili ya sake ratsewa”.