Rubuta tashoshin SOCKS5 a cikin Go a matsayin baiti biyu big-endian
Yi amfani da taimakon binary.BigEndian na Go don filayen tashar SOCKS5 maimakon yanke igiyar binary mai canjin tsayi.
Filayen tashar SOCKS5 baiti biyu ne marasa alama a cikin tsarin baiti na cibiyar sadarwa: babban baiti yakan zo da farko. A cikin Go, rubuta uint16 da aka riga aka tabbatar kai tsaye:
var field [2]byte
binary.BigEndian.PutUint16(field[:], port)Shigo da encoding/binary. Don tashar 1080, baitin hexadecimal da ke fitowa 04 38 ne. Don tashar 4, su 00 04 ne; sifili na farko wani ɓangare ne na filin mai tsayayyen faɗi.
Idan shigarwar ta fara a matsayin babbar lamba ko igiya, tabbatar da kewayon lambarta kafin canza zuwa uint16. Canzawa na iya watsar da manyan bitoci maimakon bayar da rahoton ƙima da ta fita daga kewayon.
A cikin amsar SOCKS5, jera BND.PORT, filin tashar da aka ɗaure na uwar garke. Kada ka kwafa tashar manufa da aka nema cikin wannan filin kawai saboda duka biyun suna ɗaukar baiti biyu. Sanya filin da aka rubuta bayan adireshin amsar, wanda tsayinsa ya dogara da ATYP.