በJava SOCKS አድራሻ ውስጥ ያሉ አሉታዊ ቁጥሮች አሉታዊ IP አድራሻዎች አይደሉም
የSOCKS አድራሻ መስኮችን በJava byte APIዎች ሲተነትኑ እንደ ምልክት-አልባ የፕሮቶኮል እሴቶች ያንብቡ።
በJava ውስጥ byte ምልክት አለው። የሽቦ እሴቱ 217 የሆነ octet በቀጥታ ከbyte ድርድር ሲታተም አሉታዊ እሴት ሆኖ ሊታይ ይችላል። ይህ ፕሮክሲው ልክ ያልሆነ አሉታዊ IP አድራሻ ልኳል ማለት አይደለም።
የተከማቸውን እሴት ወደ ምልክት-አልባ ኢንቲጀር ይቀይሩ፣ ለምሳሌ በByte.toUnsignedInt(value)፣ ወይም መስኩን ሲያነቡ DataInputStream.readUnsignedByte() ይጠቀሙ። በኔትወርክ ቅደም ተከተል ላለው ፖርት፣ ሁለቱንም byteዎች እንደ ምልክት ያለው አስርዮሽ ቁጥር ከመውሰድ ይልቅ የተመዘገበውን ሁለት-byte እሴት ያንብቡ።
ውክልናን ከክፈፍ ይለዩ። የሶኬት ንባብ ከተጠየቀው ያነሱ byteዎችን ሊመልስ ይችላል። ሙሉውን መስክ ያንብቡ፣ ከዚያ በSOCKS ስሪትና በአድራሻ ዓይነት መሰረት ይተርጉሙት። የSOCKS5 አድራሻዎች IPv4 አድራሻ፣ IPv6 አድራሻ ወይም በርዝመት የተዘረዘረ ዶሜይን ስም ሊይዙ ይችላሉ፤ ቋሚ አራት-byte ግምት ከእነዚህ ቅርጾች አንዱን ብቻ ይሸፍናል።
አሉታዊ የሚመስል octetን ማስተካከል የማሳያውን ችግር ይፈታል። በተሳሳተ ቦታ መነበብ የጀመረን ወይም በአድራሻው መካከል የቆመን parser ግን አያስተካክልም።