SOCKS5 calafoirt a ionchódú i Go mar dhá bheart big-endian
Úsáid cabhróirí binary.BigEndian Go do réimsí calafoirt SOCKS5 in ionad teaghrán dénártha ar fhad athraitheach a ghearradh.
Is dhá bheart gan síniú iad réimsí calafoirt SOCKS5 in ord beart líonra: tagann an beart is suntasaí ar dtús. I Go, ionchódaigh uint16 atá bailíochtaithe cheana go díreach:
var field [2]byte
binary.BigEndian.PutUint16(field[:], port)Iompórtáil encoding/binary. I gcás calafoirt 1080, is iad na bearta heicsidheachúla a thagann astu 04 38. I gcás calafoirt 4, is iad 00 04; tá nialas tosaigh mar chuid den réimse leithead seasta.
Má thosaíonn an t-ionchur mar shlánuimhir níos mó nó mar theaghrán, bailíochtaigh a raon uimhriúil sula ndéanann tú é a thiontú go uint16. Féadann an tiontú na giotáin arda a scriosadh seachas luach lasmuigh den raon a thuairisciú.
I bhfreagra SOCKS5, sraitheach BND.PORT, réimse calafoirt cheangailte an fhreastalaí. Ná cóipeáil an calafort cinn scríbe a iarradh isteach sa réimse sin díreach toisc go nglacann an dá cheann dhá bheart. Cuir an réimse ionchódaithe tar éis sheoladh an fhreagra, a bhfuil a fhad ag brath ar ATYP.