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 ৰ ওপৰত নিৰ্ভৰ কৰে।

সম্পৰ্কিত প্ৰবন্ধ