נעגאַטיווע נומערן אין אַ Java SOCKS אַדרעס זענען נישט נעגאַטיווע IPs
לייענט SOCKS אַדרעס פֿעלדער ווי אומגעצייכנטע פּראָטאָקאָל ווערטן ווען איר פּאַרסט זיי מיט Java byte API.
אין Java איז byte מיט אַ צייכן. דערפֿאַר קען אַן octet וועמענס ווערט אויף דראָט איז 217 דערשיינען ווי אַ נעגאַטיווער ווערט ווען מע דרוקט עס גלײַך אויס פֿון אַ byte array. דאָס מיינט נישט אַז דער פּראָקסי האָט געשיקט אַן אומגילטיקן נעגאַטיוון IP אַדרעס.
פֿאַרוואַנדלט דעם אָפּגעהיטענעם ווערט אין אַן אומגעצייכנטער גאַנצער צאָל, למשל מיט Byte.toUnsignedInt(value), אָדער ניצט DataInputStream.readUnsignedByte() בשעת איר לייענט דאָס פֿעלד. פֿאַר אַ פּאָרט אין נעץ סדר לייענט דעם דאָקומענטירטן צוויי-byte ווערט אַנשטאָט באַהאַנדלען איינעם פֿון די bytes ווי אַ געצייכנטער דעצימאַל צאָל.
טיילט אויך אָפּ די פֿאָרשטעלונג פֿון פֿראַמינג. אַ socket לייענונג קען צוריקקערן ווייניקער bytes ווי געבעטן. לייענט דאָס גאַנצע פֿעלד, דערנאָך טייטש עס לויט דער SOCKS ווערסיע און דעם אַדרעס טיפּ. SOCKS5 אַדרעסן קענען אַנטהאַלטן אַן IPv4 אַדרעס, אַן IPv6 אַדרעס אָדער אַ דאָמען נאָמען מיט אַ לענג פּרעפֿיקס; די פֿעסטע פֿיר-byte אָננעם דעקט נאָר איינע פֿון די פֿאָרמען.
פֿאַרריכטן אַן octet וואָס זעט אויס נעגאַטיוו פֿאַרריכטעט דאָס אַרויסווײַז פּראָבלעם. עס פֿאַרריכטעט נישט אַ פּאַרסער וואָס האָט אָנגעהויבן לייענען אין אַ פֿאַלשן אָפּזעץ אָדער איז אָפּגעשטאַנען אין מיטן אַדרעס.