SOCKS relay دىكى تولۇق قوش يۆنىلىشلىك ئېقىم ۋە تەتۈر بېسىم
relay ئېقىمىنى مۆلچەرلەنگەن جاۋاب چوڭلۇقى ئورنىغا مۇستەقىل بايت ئېقىملىرى، قىسمەن I/O، چەكلەنگەن بۇفېرلار ۋە تەتۈر بېسىم ئاساسىدا لايىھەلەڭ.
SOCKS قول ئېلىشىشى مۇۋەپپەقىيەتلىك بولدى. ھازىر relay خېرىداردىن ئوقۇيدۇ، مەنزىلگە يازىدۇ، تولۇق جاۋابنى ساقلايدۇ، ئاندىن كېيىن خېرىداردىن قايتا ئوقۇيدۇ. بۇ تەرتىپ پۈتۈنلەي توغرا پروگراممىنى قۇلۇپلىيالايدۇ.
TCP تونېلى قۇرۇلغاندىن كېيىن، SOCKS ئۇنىڭ ئىچىدىكى ئۇچۇرلارنى بەلگىلىمەيدۇ. مەنزىل ئالدى بىلەن ئەۋەتسە بولىدۇ. ئىككى تەرەپ مۇستەقىل ئەۋەتسە بولىدۇ. بىر تەرەپ قىسقا خاتىرە ئەۋەتىپ، ئاندىن يەنە بىر تەرەپنىڭ جاۋابىنى ساقلىسا بولىدۇ.
مۆلچەرلەنگەن سودىلارنى ئەمەس، بايتلارنى يەتكۈزۈڭ
قوبۇل قىلىش چاقىرىقى بايراقلار ۋە سوكېت ھالىتىگە ئاساسەن بار بايتلارنى قايتۇرىدۇ. ئۇ ئومۇمىي relay غا پروگرامما جاۋابى تولۇق بولدى دەپ ئېيتمايدۇ. خالىغانچە چوڭ بۇفېرنىڭ تولۇشىنى ساقلاش، ھەمكارنىڭ داۋاملاشتۇرۇشى ئۈچۈن كېرەك بولغان كىچىك ئۇچۇرنى يەتكۈزۈشكە توسالغۇ بولۇشى مۇمكىن.
ئىككى يۆنىلىشكە مۇلازىمەت قىلىش ئۈچۈن پروگراممىنىڭ مەۋجۇت بىر ۋاقىتلىق مودېلىنى ئىشلىتىڭ: ۋەقەلەر ئايلانمىسى، ئاسىنخرون I/O ياكى قەستەن تاللانغان باشقا لايىھە. مۇھىم ھەرىكەت شۇكى، بىر يۆنىلىشتە ئىلگىرىلەش يەنە بىر يۆنىلىشتە ئويدۇرۇپ چىقىرىلغان ئۇچۇر چېگرىسىنى تەلەپ قىلمايدۇ.
ئىككى چەكلەنگەن ساقلاۋاتقان بۇفېرنى ساقلاڭ
خېرىداردىن ئوقۇلغان سانلىق مەلۇمات تېخى مەنزىلگە يېتىشنى ساقلاۋاتقان بولۇشى مۇمكىن، مەنزىلدىن كەلگەن سانلىق مەلۇمات بولسا خېرىدارغا يېتىشنى ساقلايدۇ. ئۇ ساقلاۋاتقان بايتلارنى ئايرىم كۆزىتىڭ.
ئەۋەتىش تەلەپ قىلىنغاندىن ئاز بايت يازالايدۇ. يېزىلمىگەن قىسمىنى ساقلاڭ؛ ئۇنى تاشلىماڭ ياكى پۈتۈن بۇفېرنى قايتا قويماڭ. ۋاقىتلىق يازغىلى بولمايدىغان سوكېت توغرا تەييارلىق ۋەقەسىنى ساقلاشنىڭ سەۋەبى، ئۈزلۈكسىز ئايلىنىشنىڭ ئەمەس.
بۇفېرلارنى چەكلەڭ. ئەگەر مەنزىل ئاستا بولسا، چەكسىز خېرىدار سانلىق مەلۇماتىنى ئوقۇشنى داۋاملاشتۇرۇش پەقەت تەرەپنى relay نىڭ ئەسلىھەسىگە يۆتكەيدۇ. تەتۈر بېسىم دېگەن مۇناسىۋەتلىك ساقلاۋاتقان بۇفېر تولغاندا ئوقۇشنى توختىتىش ۋە يېزىشلار ئورۇن قالدۇرغاندا قايتا باشلاش.
بىر يۆنىلىشتە ئاخىرلىشىش سىياسەتنى تەلەپ قىلىدۇ
TCP يەنە بىر يۆنىلىشتە يەنىلا پايدىلىق سانلىق مەلۇمات بار بولغاندا ئەۋەتىش يۆنىلىشىنى تاقىيالايدۇ. بۇفېرلانغان بايتلار تۈگىگەندىن كېيىن بۇ ھالەتنى قانداق تارقىتىشنى بەلگىلەڭ، ۋە تەرتىپلىك تاقاشنى خاتالىق ياكى مۇددەتتىن ئايرىڭ.
بۇلارنىڭ ھېچبىرى relay نىڭ پروگرامما يۈكىنى شىفىردىن چىقىرىشى ياكى تەھلىل قىلىشىنى تەلەپ قىلمايدۇ. ئۇ توغرا ئېقىم بىر تەرەپ قىلىشنى تەلەپ قىلىدۇ. پەقەت بۇفېر چوڭلۇقىنى ئاشۇرۇش خاتا تەرەپنى ساقلايدىغان ياكى ھەر ئوقۇشنى بىر پۈتۈن تەلەپكە ماس كېلىدۇ دەپ پەرەز قىلىدىغان relay نى ئوڭشىيالمايدۇ.