វាលច្រក 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។

អត្ថបទពាក់ព័ន្ធ