Goobaha dekedda SOCKS5 waa laba byte oo aan calaamad lahayn oo ku qoran nidaamka byte-ka shabakadda: byte-ka ugu muhiimsan ayaa hor yimaada. Go, si toos ah u qor uint16 hore loo xaqiijiyay:

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

Soo dejiso encoding/binary. Dekedda 1080, byte-yada hexadecimal ee natiijada waa 04 38. Dekedda 4, waa 00 04; eberka hore waa qayb ka mid ah goobta ballaca go'an.

Haddii gelintu ku bilaabato tiro ka weyn ama xarig, xaqiiji baaxadda tiradaheeda ka hor intaadan u beddelin uint16. Beddelka waxa uu tuuri karaa bit-yada sare halkii uu ka soo sheegi lahaa qiime ka baxsan baaxadda.

Jawaabta SOCKS5, tax BND.PORT, goobta dekedda xidhan ee serverka. Ha koobiyrin dekedda goobta la codsaday goobtaas kaliya sababtoo ah labaduba waxay qaataan laba byte. Dhig goobta la qoray ka dib cinwaanka jawaabta, oo dhererkeedu ku xiran yahay ATYP.

Maqaallo la xiriira