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 ஐப் பொறுத்தது.

தொடர்புடைய கட்டுரைகள்