SOCKS5 ئېغىز ئېتىزلىرى تور بايت تەرتىپىدە ئىككى ئىشارەتسىز بايت: ئەڭ مۇھىم بايت ئالدىدا كېلىدۇ. Go دا، ئاللىبۇرۇن دەلىللەنگەن uint16 نى بىۋاسىتە كودلاڭ:

var field [2]byte
binary.BigEndian.PutUint16(field[:], port)

encoding/binary نى ئىمپورت قىلىڭ. 1080 ئېغىزى ئۈچۈن، ھاسىل بولغان ئون ئالتىلىك بايتلار 04 38. 4 ئېغىزى ئۈچۈن، ئۇلار 00 04؛ ئالدىدىكى نۆل تۇراقلىق كەڭلىكتىكى ئېتىزنىڭ بىر قىسمى.

ئەگەر كىرگۈزۈش چوڭراق پۈتۈن سان ياكى تىزما سۈپىتىدە باشلانسا، uint16 غا ئايلاندۇرۇشتىن بۇرۇن ئۇنىڭ سان دائىرىسىنى دەلىللەڭ. ئايلاندۇرۇش دائىرىدىن تاشقىرى قىممەتنى دوكلات قىلىشنىڭ ئورنىغا يۇقىرى بىتلارنى تاشلىۋېتىشى مۇمكىن.

SOCKS5 جاۋابىدا BND.PORT نى تەرتىپلەڭ، يەنى مۇلازىمېتنىڭ باغلانغان ئېغىز ئېتىزى. ئىككىسى ئىككى بايت ئىگىلىگەنلىكى ئۈچۈنلا تەلەپ قىلىنغان نىشان ئېغىزىنى شۇ ئېتىزغا كۆچۈرمەڭ. كودلانغان ئېتىزنى جاۋاب ئادرېسىدىن كېيىن قويۇڭ، ئۇنىڭ ئۇزۇنلۇقى ATYP غا باغلىق.

مۇناسىۋەتلىك ماقالىلەر