Kóða SOCKS5-port í Go sem tvo big-endian bæti
Notaðu binary.BigEndian hjálpara Go fyrir SOCKS5-portssvið í stað þess að sneiða tvíundarstreng af breytilegri lengd.
SOCKS5-portssvið eru tvö ómerkt bæti í netbætaröð: markverðasta bætið kemur fyrst. Í Go skaltu kóða þegar staðfest uint16 beint:
var field [2]byte
binary.BigEndian.PutUint16(field[:], port)Flyttu inn encoding/binary. Fyrir port 1080 eru mynduðu hexabætin 04 38. Fyrir port 4 eru þau 00 04; fremsta núllið er hluti af sviðinu með fastri breidd.
Ef inntakið byrjar sem stærri heiltala eða strengur skaltu staðfesta tölulegt bil þess áður en því er breytt í uint16. Breytingin getur hent háum bitum í stað þess að tilkynna gildi utan bils.
Í SOCKS5-svari skaltu raða BND.PORT, tengda portssviði netþjónsins. Ekki afrita umbeðna áfangastaðarportið í það svið bara vegna þess að bæði taka tvö bæti. Settu kóðaða sviðið á eftir vistfangi svarsins, en lengd þess fer eftir ATYP.