Java SOCKS ঠিকনাৰ ঋণাত্মক সংখ্যা ঋণাত্মক IP নহয়
Java byte API ব্যৱহাৰ কৰি SOCKS ঠিকনাৰ ক্ষেত্ৰ বিশ্লেষণ কৰোঁতে সেইবোৰক unsigned প্ৰ’ট’কল মান হিচাপে পঢ়ক।
Java ৰ byte signed। সেয়েহে wire মান 217 হোৱা octet এ byte array ৰ পৰা পোনপটীয়াকৈ প্ৰিণ্ট কৰোঁতে ঋণাত্মক মান হিচাপে দেখা দিব পাৰে। ইয়াৰ অৰ্থ এইটো নহয় যে প্ৰক্সিয়ে অবৈধ ঋণাত্মক IP ঠিকনা পঠিয়াইছে।
সংৰক্ষিত মানটো unsigned integer লৈ ৰূপান্তৰ কৰক, যেনে Byte.toUnsignedInt(value) ব্যৱহাৰ কৰি, বা ক্ষেত্ৰটো পঢ়োঁতে DataInputStream.readUnsignedByte() ব্যৱহাৰ কৰক। নেটৱৰ্ক-অৰ্ডাৰ প’ৰ্টৰ বাবে, দুয়োটা byte ঋণাত্মক দশমিক সংখ্যা হিচাপে ধৰাৰ পৰিৱৰ্তে নথিভুক্ত দুই-byte মান পঢ়ক।
উপস্থাপন আৰু ফ্ৰেমিঙক পৃথক কৰি চাওক। ছকেট পঢ়াৰ ফলত অনুৰোধিততকৈ কম byte ঘূৰি আহিব পাৰে। সম্পূৰ্ণ ক্ষেত্ৰটো পঢ়ক, তাৰ পিছত SOCKS সংস্কৰণ আৰু ঠিকনাৰ প্ৰকাৰ অনুসৰি ব্যাখ্যা কৰক। SOCKS5 ঠিকনাত IPv4 ঠিকনা, IPv6 ঠিকনা বা দৈৰ্ঘ্য-প্ৰিফিক্স থকা ডমেইন নাম থাকিব পাৰে; স্থিৰ চাৰি-byte ধাৰণাই ইয়াৰ এটা ৰূপহে সামৰি লয়।
ঋণাত্মক দেখা octet শুধৰালে প্ৰদৰ্শনৰ সমস্যা সমাধান হয়। কিন্তু ভুল অফছেটৰ পৰা পঢ়া আৰম্ভ কৰা বা ঠিকনাৰ মাজতে ৰৈ যোৱা parser শুধৰাই নহয়।